import { Theme } from './theme'; /** * Options passed to [[highlight]] */ export interface HighlightOptions { /** * Can be a name, file extension, alias etc. If omitted, tries to auto-detect language. */ language?: string; /** * When present and evaluates to a true value, forces highlighting to finish even in case of * detecting illegal syntax for the language instead of throwing an exception. */ ignoreIllegals?: boolean; /** * The continuation is an optional mode stack representing unfinished parsing. When present, * the function will restart parsing from this state instead of initializing a new one. * * See http://highlightjs.readthedocs.io/en/latest/api.html */ continuation?: any; /** * Optional array of language names and aliases restricting detection to only those languages. */ languageSubset?: string[]; /** * Supply a custom theme where you override language tokens with own formatter functions. Every * token that is not overriden falls back to the [[DEFAULT_THEME]] */ theme?: Theme; } /** * Apply syntax highlighting to `code` with ASCII color codes. The language is automatically * detected if not set. * * ```ts * import {highlight} from 'cli-highlight'; * import * as fs from 'fs'; * * fs.readFile('package.json', 'utf8', (err: any, json: string) => { * console.log('package.json:'); * console.log(highlight(json)); * }); * ``` * * @param code The code to highlight * @param options Optional options */ export declare function highlight(code: string, options?: HighlightOptions): string; /** * Returns all supported languages */ export declare function listLanguages(): string[]; /** * Returns true if the language is supported * @param name A language name, alias or file extension */ export declare function supportsLanguage(name: string): boolean; export default highlight; export * from './theme';