forked from zhurui/management
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
|
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';
|