react-shiki
Version:
Syntax highlighter component for react using shiki
59 lines (57 loc) • 1.51 kB
JavaScript
import {
createShikiHighlighterComponent,
isInlineCode,
rehypeInlineCodeProperty,
useShikiHighlighter
} from "./chunk-SCXX26KJ.js";
// src/bundles/web.ts
import {
getSingletonHighlighter
} from "shiki/bundle/web";
import { createOnigurumaEngine } from "shiki/engine/oniguruma";
async function createWebHighlighter(langsToLoad, themesToLoad, engine) {
try {
return await getSingletonHighlighter({
langs: [langsToLoad],
themes: themesToLoad,
engine: engine ?? createOnigurumaEngine(import("shiki/wasm"))
});
} catch (error) {
if (error instanceof Error && error.message.includes("Language")) {
return await getSingletonHighlighter({
langs: ["plaintext"],
themes: themesToLoad,
engine: engine ?? createOnigurumaEngine(import("shiki/wasm"))
});
}
throw error;
}
}
// src/web.ts
import {
createJavaScriptRegexEngine,
createJavaScriptRawEngine
} from "shiki/engine/javascript";
var useShikiHighlighter2 = (code, lang, themeInput, options = {}) => {
return useShikiHighlighter(
code,
lang,
themeInput,
options,
createWebHighlighter
);
};
var ShikiHighlighter = createShikiHighlighterComponent(
useShikiHighlighter2
);
var web_default = ShikiHighlighter;
export {
ShikiHighlighter,
createJavaScriptRawEngine,
createJavaScriptRegexEngine,
web_default as default,
isInlineCode,
rehypeInlineCodeProperty,
useShikiHighlighter2 as useShikiHighlighter
};
//# sourceMappingURL=web.js.map