@tanstack/highlight
Version:
Tiny class-based syntax highlighting for documentation.
17 lines (16 loc) • 853 B
TypeScript
import type { HighlightTokenClass, TokenRange } from '../core.js';
export type Pattern = {
className: HighlightTokenClass | ((match: RegExpExecArray) => HighlightTokenClass);
group?: number;
regex: RegExp;
} | {
collect: (code: string) => ReadonlyArray<TokenRange>;
};
export declare function patternTokenizer(patterns: ReadonlyArray<Pattern>): (code: string) => TokenRange[];
export declare function collectPatternRanges(code: string, patterns: ReadonlyArray<Pattern>, initial?: ReadonlyArray<TokenRange>, occupied?: Uint8Array<ArrayBuffer>): TokenRange[];
export declare function offsetRanges(ranges: ReadonlyArray<TokenRange>, offset: number): {
start: number;
end: number;
className: HighlightTokenClass;
}[];
export declare function addRange(ranges: Array<TokenRange>, occupied: Uint8Array, range: TokenRange): boolean;