UNPKG

@rtdui/editor

Version:

React rich text editor based on tiptap

34 lines (33 loc) 1.34 kB
import { type Highlighter, type BundledLanguage, type BundledTheme } from "shiki"; import type { Node as ProsemirrorNode } from "@tiptap/pm/model"; type HighlighterOptions = { themes: (BundledTheme | null | undefined)[]; languages: (BundledLanguage | null | undefined)[]; }; export declare function resetHighlighter(): void; export declare function getShiki(): Highlighter | undefined; /** * Load the highlighter. Makes sure the highlighter is only loaded once. */ export declare function loadHighlighter(opts: HighlighterOptions): Promise<void> | undefined; /** * Loads a theme if it's valid and not yet loaded. * @returns true or false depending on if it got loaded. */ export declare function loadTheme(theme: BundledTheme): Promise<boolean>; /** * Loads a language if it's valid and not yet loaded * @returns true or false depending on if it got loaded. */ export declare function loadLanguage(language: BundledLanguage): Promise<boolean>; /** * Initializes the highlighter based on the prosemirror document, * with the themes and languages in the document. */ export declare function initHighlighter({ doc, name, defaultTheme, defaultLanguage, }: { doc: ProsemirrorNode; name: string; defaultLanguage: BundledLanguage | null | undefined; defaultTheme: BundledTheme; }): Promise<void>; export {};