UNPKG

vue-markdown-shiki

Version:

A Vue 3 component library that provides integration with Shiki and Markdown-it.

34 lines (33 loc) 1.09 kB
import { BundledLanguage } from 'shiki'; export interface ProcessorContext<L = BundledLanguage> { code: string; language: L; options: { [key: string]: any; }; } export type ProcessorHandler<L = BundledLanguage> = (ctx: ProcessorContext<L>, tokens?: string[][]) => ProcessorResult | ProcessorResult[] | void; export interface ProcessorResult { code?: string; language?: string; tokens?: string[][]; options?: Record<string, any>; } export type ProcessorTransformer<L = BundledLanguage> = (source: string, language: L, options: Record<string, any>) => { code: string; language: L; lineOptions: any[]; }; export interface Processor<L = BundledLanguage> { name: string; handler: ProcessorHandler<L>; transformer?: ProcessorTransformer<L>; postProcess?: (options: { code: string; lang: string; }) => string | undefined; } export type ProcessFunction = <L = BundledLanguage>(processors: Processor<L>[], code: string, language: L, options?: Record<string, any>) => { code: string; lineOptions: any[]; };