UNPKG

react-shiki

Version:

Syntax highlighter component for react using shiki

51 lines (48 loc) 1.92 kB
import * as react from 'react'; import { S as ShikiHighlighterProps, U as UseShikiHighlighter } from './component-mMdHg8JD.js'; export { E as Element, H as HighlighterOptions, L as Language, T as Theme, a as Themes, i as isInlineCode, r as rehypeInlineCodeProperty } from './component-mMdHg8JD.js'; export { createHighlighterCore } from 'shiki/core'; export { createOnigurumaEngine } from 'shiki/engine/oniguruma'; export { createJavaScriptRawEngine, createJavaScriptRegexEngine } from 'shiki/engine/javascript'; import 'shiki'; import 'hast'; /** * Highlight code with shiki (core bundle) * * @param code - Code to highlight * @param lang - Language (bundled or custom) * @param theme - Theme (bundled, multi-theme, or custom) * @param options - react-shiki options + shiki options * @returns Highlighted code as React elements or HTML string * * @example * ```tsx * import { createHighlighterCore, createOnigurumaEngine } from 'react-shiki/core'; * * * const highlighter = await createHighlighterCore({ * themes: [import('@shikijs/themes/github-light'), import('@shikijs/themes/github-dark')], * langs: [import('@shikijs/langs/typescript')], * engine: createOnigurumaEngine(import('shiki/wasm')) * }); * * const highlighted = useShikiHighlighter( * 'const x = 1;', * 'typescript', * { * light: 'github-light', * dark: 'github-dark' * }, * { highlighter } * ); * ``` * * Core bundle (minimal). For plug-and-play: `react-shiki` or `react-shiki/web` */ declare const useShikiHighlighter: UseShikiHighlighter; /** * ShikiHighlighter component using a custom highlighter. * Requires a highlighter to be provided. */ declare const ShikiHighlighter: react.ForwardRefExoticComponent<ShikiHighlighterProps & react.RefAttributes<HTMLElement>>; export { ShikiHighlighter, ShikiHighlighterProps, UseShikiHighlighter, ShikiHighlighter as default, useShikiHighlighter };