@tanstack/highlight
Version:
Tiny class-based syntax highlighting for documentation.
15 lines (14 loc) • 873 B
TypeScript
import type { HighlightTokenClass, TokenRange } from '../core.js';
export type Pattern = readonly [
regex: RegExp,
className: HighlightTokenClass | ((match: RegExpExecArray) => HighlightTokenClass),
group?: number
] | ((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>, ranges?: Array<TokenRange>): 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;