UNPKG

@tanstack/highlight

Version:

Tiny class-based syntax highlighting for documentation.

38 lines (37 loc) • 1.39 kB
import type { Highlighter, HighlightDecoration } from './core.js'; import { codeFenceToHast } from './markdown.js'; export type RemarkCodeNode = { type: 'code'; value: string; lang?: string | null; meta?: string | null; data?: Record<string, unknown>; }; export type RemarkHtmlNode = { type: 'html'; value: string; data?: Record<string, unknown>; }; export type RemarkHighlightOptions = { getDecorations?: (node: RemarkCodeNode) => ReadonlyArray<HighlightDecoration> | undefined; getTitle?: (node: RemarkCodeNode) => string | undefined; highlighter: Highlighter; lineNumbers?: boolean; }; export type RemarkHighlightedCodeNode = { type: 'highlightedCode'; data: Record<string, unknown> & { hChildren: ReturnType<typeof codeFenceToHast>['children']; hName: 'pre'; hProperties: ReturnType<typeof codeFenceToHast>['properties']; }; }; type UnknownNode = { children?: Array<UnknownNode>; type?: string; [key: string]: unknown; }; export declare function remarkCodeNodeToHtml(node: RemarkCodeNode, options: RemarkHighlightOptions): RemarkHtmlNode; export declare function remarkCodeNodeToMdast(node: RemarkCodeNode, options: RemarkHighlightOptions): RemarkHighlightedCodeNode; export declare function remarkHighlightCodeBlocks(options: RemarkHighlightOptions): (tree: UnknownNode) => void; export {};