From 2335dda7afd5e7e42ae2fc4484694a2709f02278 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Thu, 26 Sep 2024 17:11:47 +0800 Subject: [PATCH] feat: rename `createWasmOnigEngine` to `createOnigurumaEngine` --- bench/engines.bench.ts | 4 ++-- docs/guide/bundles.md | 2 +- docs/guide/future.md | 4 ++-- docs/guide/regex-engines.md | 4 ++-- docs/guide/sync-usage.md | 4 ++-- packages/core/src/constructors/bundle-factory.ts | 6 +++--- packages/core/src/constructors/internal.ts | 6 +++--- packages/core/src/engines/oniguruma.ts | 11 ++++++++--- packages/core/src/index.ts | 2 +- packages/engine-oniguruma/src/index.ts | 9 ++++++++- packages/shiki/src/bundle-full.ts | 5 +++-- packages/shiki/src/bundle-web.ts | 6 +++--- packages/shiki/src/core.ts | 3 +++ packages/types/src/options.ts | 2 +- 14 files changed, 42 insertions(+), 26 deletions(-) diff --git a/bench/engines.bench.ts b/bench/engines.bench.ts index 995056ff3..7d89661c3 100644 --- a/bench/engines.bench.ts +++ b/bench/engines.bench.ts @@ -2,11 +2,11 @@ import type { BundledLanguage } from 'shiki' import type { ReportItem } from '../scripts/report-engine-js-compat' import fs from 'node:fs/promises' -import { createHighlighter, createJavaScriptRegexEngine, createWasmOnigEngine } from 'shiki' +import { createHighlighter, createJavaScriptRegexEngine, createOnigurumaEngine } from 'shiki' import { bench, describe } from 'vitest' const js = createJavaScriptRegexEngine() -const wasm = await createWasmOnigEngine(() => import('shiki/wasm')) +const wasm = await createOnigurumaEngine(() => import('shiki/wasm')) const RANGE = [0, 20] diff --git a/docs/guide/bundles.md b/docs/guide/bundles.md index e4071531e..44c1e0a21 100644 --- a/docs/guide/bundles.md +++ b/docs/guide/bundles.md @@ -65,7 +65,7 @@ const highlighter = await createHighlighterCore({ async () => JSON.parse(await fs.readFile('my-grammar.json', 'utf-8')) ], // `shiki/wasm` contains the wasm binary inlined as base64 string. - engine: createWasmOnigEngine(import('shiki/wasm')) + engine: createOnigurumaEngine(import('shiki/wasm')) }) // optionally, load themes and languages after creation diff --git a/docs/guide/future.md b/docs/guide/future.md index 440c46822..5d1f4829a 100644 --- a/docs/guide/future.md +++ b/docs/guide/future.md @@ -43,11 +43,11 @@ import { loadWasm } from 'shiki/engine/oniguruma' // [!code ++] ```ts import { createHighlighter } from 'shiki' -import { createWasmOnigEngine } from 'shiki/engine/oniguruma' // [!code ++] +import { createOnigurumaEngine } from 'shiki/engine/oniguruma' // [!code ++] const shiki = await createHighlighter({ // ... loadWasm: () => import('shiki/wasm'), // [!code --] - engine: createWasmOnigEngine(() => import('shiki/wasm')), // [!code ++] + engine: createOnigurumaEngine(() => import('shiki/wasm')), // [!code ++] }) ``` diff --git a/docs/guide/regex-engines.md b/docs/guide/regex-engines.md index 6b7b5aeef..740b11dbb 100644 --- a/docs/guide/regex-engines.md +++ b/docs/guide/regex-engines.md @@ -28,12 +28,12 @@ This is the default engine that uses the compiled Oniguruma WebAssembly. The mos ```ts import { createHighlighter } from 'shiki' -import { createWasmOnigEngine } from 'shiki/engine/oniguruma' +import { createOnigurumaEngine } from 'shiki/engine/oniguruma' const shiki = await createShiki({ themes: ['nord'], langs: ['javascript'], - engine: createWasmOnigEngine(import('shiki/wasm')) + engine: createOnigurumaEngine(import('shiki/wasm')) }) ``` diff --git a/docs/guide/sync-usage.md b/docs/guide/sync-usage.md index 687c1a27f..f05ba8463 100644 --- a/docs/guide/sync-usage.md +++ b/docs/guide/sync-usage.md @@ -25,12 +25,12 @@ The [Oniguruma Engine](/guide/regex-engines#oniguruma-engine) can only be create ```ts import { createHighlighterCoreSync } from 'shiki/core' -import { createWasmOnigEngine } from 'shiki/engine/oniguruma' +import { createOnigurumaEngine } from 'shiki/engine/oniguruma' import js from 'shiki/langs/javascript.mjs' import nord from 'shiki/themes/nord.mjs' // Load this somewhere beforehand -const engine = await createWasmOnigEngine(import('shiki/wasm')) +const engine = await createOnigurumaEngine(import('shiki/wasm')) const shiki = createHighlighterCoreSync({ themes: [nord], diff --git a/packages/core/src/constructors/bundle-factory.ts b/packages/core/src/constructors/bundle-factory.ts index 40e6c2fa0..ac0914dde 100644 --- a/packages/core/src/constructors/bundle-factory.ts +++ b/packages/core/src/constructors/bundle-factory.ts @@ -24,7 +24,7 @@ import type { import type { Root } from 'hast' import { ShikiError } from '@shikijs/types' -import { createWasmOnigEngine } from '../engines/oniguruma' +import { createOnigurumaEngine } from '../engines/oniguruma' import { isSpecialLang, isSpecialTheme } from '../utils' import { warnDeprecated } from '../warn' import { createHighlighterCore } from './highlighter' @@ -43,7 +43,7 @@ import { createHighlighterCore } from './highlighter' * nord: () => import('shiki/themes/nord.mjs'), * // ... * }, - * engine: () => createWasmOnigEngine(), // or createJavaScriptRegexEngine() + * engine: () => createOnigurumaEngine(), // or createJavaScriptRegexEngine() * }) * ``` * @@ -78,7 +78,7 @@ export function createdBundledHighlighter bundledThemes = arg2 - engine = () => createWasmOnigEngine(arg3) + engine = () => createOnigurumaEngine(arg3) } else { const options = arg1 as CreatedBundledHighlighterOptions diff --git a/packages/core/src/constructors/internal.ts b/packages/core/src/constructors/internal.ts index ae3b0527e..75085c151 100644 --- a/packages/core/src/constructors/internal.ts +++ b/packages/core/src/constructors/internal.ts @@ -2,7 +2,7 @@ import type { HighlighterCoreOptions, ShikiInternal, } from '@shikijs/types' -import { createWasmOnigEngine, getDefaultWasmLoader } from '@shikijs/engine-oniguruma' +import { createOnigurumaEngine, getDefaultWasmLoader } from '@shikijs/engine-oniguruma' import { resolveLangs, resolveThemes } from '../textmate/getters-resolve' import { warnDeprecated } from '../warn' @@ -13,7 +13,7 @@ import { createShikiInternalSync } from './internal-sync' */ export async function createShikiInternal(options: HighlighterCoreOptions = {}): Promise { if (options.loadWasm) { - warnDeprecated('`loadWasm` option is deprecated. Use `engine: createWasmOnigEngine(loadWasm)` instead.') + warnDeprecated('`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.') } const [ @@ -23,7 +23,7 @@ export async function createShikiInternal(options: HighlighterCoreOptions = {}): ] = await Promise.all([ resolveThemes(options.themes || []), resolveLangs(options.langs || []), - (options.engine || createWasmOnigEngine(options.loadWasm || getDefaultWasmLoader())), + (options.engine || createOnigurumaEngine(options.loadWasm || getDefaultWasmLoader())), ] as const) return createShikiInternalSync({ diff --git a/packages/core/src/engines/oniguruma.ts b/packages/core/src/engines/oniguruma.ts index 45e925c10..3acf11bc1 100644 --- a/packages/core/src/engines/oniguruma.ts +++ b/packages/core/src/engines/oniguruma.ts @@ -1,13 +1,18 @@ import type { LoadWasmOptions, RegexEngine } from '@shikijs/types' import { - createWasmOnigEngine as _createWasmOnigEngine, + createOnigurumaEngine as _createOnigurumaEngine, loadWasm as _loadWasm, } from '@shikijs/engine-oniguruma' import { warnDeprecated } from '../warn' +export function createOnigurumaEngine(options?: LoadWasmOptions | null): Promise { + warnDeprecated('import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') + return _createOnigurumaEngine(options) +} + export function createWasmOnigEngine(options?: LoadWasmOptions | null): Promise { - warnDeprecated('import `createWasmOnigEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') - return _createWasmOnigEngine(options) + warnDeprecated('import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead') + return createOnigurumaEngine(options) } export function loadWasm(options: LoadWasmOptions): Promise { diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 4b03b7889..5dd3e37e7 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -7,7 +7,7 @@ export { createShikiInternalSync } from './constructors/internal-sync' // Engines export { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from './engines/javascript' -export { createWasmOnigEngine, loadWasm } from './engines/oniguruma' +export { createOnigurumaEngine, createWasmOnigEngine, loadWasm } from './engines/oniguruma' // Low-level Highlighting export { codeToHast, tokensToHast } from './highlight/code-to-hast' diff --git a/packages/engine-oniguruma/src/index.ts b/packages/engine-oniguruma/src/index.ts index 2915748fe..e43b7f133 100644 --- a/packages/engine-oniguruma/src/index.ts +++ b/packages/engine-oniguruma/src/index.ts @@ -21,7 +21,7 @@ export function getDefaultWasmLoader(): LoadWasmOptions | undefined { return _defaultWasmLoader } -export async function createWasmOnigEngine(options?: LoadWasmOptions | null): Promise { +export async function createOnigurumaEngine(options?: LoadWasmOptions | null): Promise { if (options) await loadWasm(options) @@ -34,3 +34,10 @@ export async function createWasmOnigEngine(options?: LoadWasmOptions | null): Pr }, } } + +/** + * Deprecated. Use `createOnigurumaEngine` instead. + */ +export async function createWasmOnigEngine(options?: LoadWasmOptions | null): Promise { + return createOnigurumaEngine(options) +} diff --git a/packages/shiki/src/bundle-full.ts b/packages/shiki/src/bundle-full.ts index e18f5c11b..4c0510617 100644 --- a/packages/shiki/src/bundle-full.ts +++ b/packages/shiki/src/bundle-full.ts @@ -3,7 +3,8 @@ import type {} from 'hast' import type { BundledLanguage } from './assets/langs-bundle-full' import type { BundledTheme } from './themes' import { bundledLanguages } from './assets/langs-bundle-full' -import { createdBundledHighlighter, createSingletonShorthands, createWasmOnigEngine, warnDeprecated } from './core' +import { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from './core' +import { createOnigurumaEngine } from './engine-oniguruma' import { bundledThemes } from './themes' import { getWasmInlined } from './wasm-dynamic' @@ -31,7 +32,7 @@ export const createHighlighter = /* @__PURE__ */ createdBundledHighlighter< >({ langs: bundledLanguages, themes: bundledThemes, - engine: () => createWasmOnigEngine(getWasmInlined), + engine: () => createOnigurumaEngine(getWasmInlined), }) export const { diff --git a/packages/shiki/src/bundle-web.ts b/packages/shiki/src/bundle-web.ts index ba8c898d7..ee4993757 100644 --- a/packages/shiki/src/bundle-web.ts +++ b/packages/shiki/src/bundle-web.ts @@ -4,8 +4,8 @@ import type {} from 'hast' import type { BundledLanguage } from './assets/langs-bundle-web' import type { BundledTheme } from './themes' import { bundledLanguages } from './assets/langs-bundle-web' - -import { createdBundledHighlighter, createSingletonShorthands, createWasmOnigEngine, warnDeprecated } from './core' +import { createdBundledHighlighter, createSingletonShorthands, warnDeprecated } from './core' +import { createOnigurumaEngine } from './engine-oniguruma' import { bundledThemes } from './themes' import { getWasmInlined } from './wasm-dynamic' @@ -33,7 +33,7 @@ export const createHighlighter = /* @__PURE__ */ createdBundledHighlighter< >({ langs: bundledLanguages, themes: bundledThemes, - engine: () => createWasmOnigEngine(getWasmInlined), + engine: () => createOnigurumaEngine(getWasmInlined), }) export const { diff --git a/packages/shiki/src/core.ts b/packages/shiki/src/core.ts index 47350ec26..19fa2891a 100644 --- a/packages/shiki/src/core.ts +++ b/packages/shiki/src/core.ts @@ -2,3 +2,6 @@ export type { CssVariablesThemeOptions } from './theme-css-variables' export { createCssVariablesTheme } from './theme-css-variables' export * from '@shikijs/core' + +export { createJavaScriptRegexEngine } from '@shikijs/engine-javascript' +export { createOnigurumaEngine, loadWasm } from '@shikijs/engine-oniguruma' diff --git a/packages/types/src/options.ts b/packages/types/src/options.ts index ee55da0c2..d8bb632f6 100644 --- a/packages/types/src/options.ts +++ b/packages/types/src/options.ts @@ -33,7 +33,7 @@ export interface HighlighterCoreOptions { /** * Load wasm file from a custom path or using a custom function. * - * @deprecated Use `engine: createWasmOnigEngine(loadWasm)` instead. + * @deprecated Use `engine: createOnigurumaEngine(loadWasm)` instead. */ loadWasm?: Sync extends true ? never : LoadWasmOptions }