Files
openclaw/scripts/diffs-shiki-curated.ts
Peter Steinberger 568b920b21 feat(lint): enforce import ordering and deduplication (#124730)
* refactor(imports): dedupe and hoist imports

* feat(lint): enforce import/no-duplicates and import/first
2026-08-16 11:44:52 -07:00

60 lines
1.9 KiB
TypeScript

// Diffs Shiki Curated script supports OpenClaw repository automation.
import {
createBundledHighlighter,
createCssVariablesTheme,
createSingletonShorthands,
getTokenStyleObject,
guessEmbeddedLanguages,
normalizeTheme,
stringifyTokenStyle,
} from "@shikijs/core";
import {
createJavaScriptRegexEngine,
defaultJavaScriptRegexConstructor,
} from "@shikijs/engine-javascript";
import { createOnigurumaEngine, loadWasm } from "@shikijs/engine-oniguruma";
import { bundledThemes } from "shiki/themes";
import {
bundledLanguagesBase,
bundledLanguagesInfo,
} from "../extensions/diffs/src/shiki-curated-languages.js";
export * from "@shikijs/core";
export { bundledLanguagesBase, bundledLanguagesInfo };
export { bundledThemes, bundledThemesInfo } from "shiki/themes";
export const bundledLanguagesAlias = Object.fromEntries(
bundledLanguagesInfo.flatMap((language) =>
("aliases" in language ? language.aliases : []).map((alias) => [alias, language.import]),
),
);
export const bundledLanguages = {
...bundledLanguagesBase,
...bundledLanguagesAlias,
};
export const createHighlighter = createBundledHighlighter({
langs: bundledLanguages,
themes: bundledThemes,
engine: () => createOnigurumaEngine(import("shiki/wasm")),
});
const shorthands = createSingletonShorthands(createHighlighter, { guessEmbeddedLanguages });
export const codeToHtml = shorthands.codeToHtml;
export const codeToHast = shorthands.codeToHast;
export const codeToTokens = shorthands.codeToTokens;
export const codeToTokensBase = shorthands.codeToTokensBase;
export const codeToTokensWithThemes = shorthands.codeToTokensWithThemes;
export const getSingletonHighlighter = shorthands.getSingletonHighlighter;
export const getLastGrammarState = shorthands.getLastGrammarState;
export {
createCssVariablesTheme,
createJavaScriptRegexEngine,
createOnigurumaEngine,
defaultJavaScriptRegexConstructor,
getTokenStyleObject,
loadWasm,
normalizeTheme,
stringifyTokenStyle,
};