first
This commit is contained in:
270
node_modules/cli-highlight/dist/theme.d.ts
generated
vendored
Normal file
270
node_modules/cli-highlight/dist/theme.d.ts
generated
vendored
Normal file
@ -0,0 +1,270 @@
|
||||
/**
|
||||
* A generic interface that holds all available language tokens.
|
||||
*/
|
||||
export interface Tokens<T> {
|
||||
/**
|
||||
* keyword in a regular Algol-style language
|
||||
*/
|
||||
keyword?: T;
|
||||
/**
|
||||
* built-in or library object (constant, class, function)
|
||||
*/
|
||||
built_in?: T;
|
||||
/**
|
||||
* user-defined type in a language with first-class syntactically significant types, like Haskell
|
||||
*/
|
||||
type?: T;
|
||||
/**
|
||||
* special identifier for a built-in value ("true", "false", "null")
|
||||
*/
|
||||
literal?: T;
|
||||
/**
|
||||
* number, including units and modifiers, if any.
|
||||
*/
|
||||
number?: T;
|
||||
/**
|
||||
* literal regular expression
|
||||
*/
|
||||
regexp?: T;
|
||||
/**
|
||||
* literal string, character
|
||||
*/
|
||||
string?: T;
|
||||
/**
|
||||
* parsed section inside a literal string
|
||||
*/
|
||||
subst?: T;
|
||||
/**
|
||||
* symbolic constant, interned string, goto label
|
||||
*/
|
||||
symbol?: T;
|
||||
/**
|
||||
* class or class-level declaration (interfaces, traits, modules, etc)
|
||||
*/
|
||||
class?: T;
|
||||
/**
|
||||
* function or method declaration
|
||||
*/
|
||||
function?: T;
|
||||
/**
|
||||
* name of a class or a function at the place of declaration
|
||||
*/
|
||||
title?: T;
|
||||
/**
|
||||
* block of function arguments (parameters) at the place of declaration
|
||||
*/
|
||||
params?: T;
|
||||
/**
|
||||
* comment
|
||||
*/
|
||||
comment?: T;
|
||||
/**
|
||||
* documentation markup within comments
|
||||
*/
|
||||
doctag?: T;
|
||||
/**
|
||||
* flags, modifiers, annotations, processing instructions, preprocessor directive, etc
|
||||
*/
|
||||
meta?: T;
|
||||
/**
|
||||
* keyword or built-in within meta construct
|
||||
*/
|
||||
'meta-keyword'?: T;
|
||||
/**
|
||||
* string within meta construct
|
||||
*/
|
||||
'meta-string'?: T;
|
||||
/**
|
||||
* heading of a section in a config file, heading in text markup
|
||||
*/
|
||||
section?: T;
|
||||
/**
|
||||
* XML/HTML tag
|
||||
*/
|
||||
tag?: T;
|
||||
/**
|
||||
* name of an XML tag, the first word in an s-expression
|
||||
*/
|
||||
name?: T;
|
||||
/**
|
||||
* s-expression name from the language standard library
|
||||
*/
|
||||
'builtin-name'?: T;
|
||||
/**
|
||||
* name of an attribute with no language defined semantics (keys in JSON, setting names in .ini), also sub-attribute within another highlighted object, like XML tag
|
||||
*/
|
||||
attr?: T;
|
||||
/**
|
||||
* name of an attribute followed by a structured value part, like CSS properties
|
||||
*/
|
||||
attribute?: T;
|
||||
/**
|
||||
* variable in a config or a template file, environment var expansion in a script
|
||||
*/
|
||||
variable?: T;
|
||||
/**
|
||||
* list item bullet in text markup
|
||||
*/
|
||||
bullet?: T;
|
||||
/**
|
||||
* code block in text markup
|
||||
*/
|
||||
code?: T;
|
||||
/**
|
||||
* emphasis in text markup
|
||||
*/
|
||||
emphasis?: T;
|
||||
/**
|
||||
* strong emphasis in text markup
|
||||
*/
|
||||
strong?: T;
|
||||
/**
|
||||
* mathematical formula in text markup
|
||||
*/
|
||||
formula?: T;
|
||||
/**
|
||||
* hyperlink in text markup
|
||||
*/
|
||||
link?: T;
|
||||
/**
|
||||
* quotation in text markup
|
||||
*/
|
||||
quote?: T;
|
||||
/**
|
||||
* tag selector in CSS
|
||||
*/
|
||||
'selector-tag'?: T;
|
||||
/**
|
||||
* #id selector in CSS
|
||||
*/
|
||||
'selector-id'?: T;
|
||||
/**
|
||||
* .class selector in CSS
|
||||
*/
|
||||
'selector-class'?: T;
|
||||
/**
|
||||
* [attr] selector in CSS
|
||||
*/
|
||||
'selector-attr'?: T;
|
||||
/**
|
||||
* :pseudo selector in CSS
|
||||
*/
|
||||
'selector-pseudo'?: T;
|
||||
/**
|
||||
* tag of a template language
|
||||
*/
|
||||
'template-tag'?: T;
|
||||
/**
|
||||
* variable in a template language
|
||||
*/
|
||||
'template-variable'?: T;
|
||||
/**
|
||||
* added or changed line in a diff
|
||||
*/
|
||||
addition?: T;
|
||||
/**
|
||||
* deleted line in a diff
|
||||
*/
|
||||
deletion?: T;
|
||||
}
|
||||
/**
|
||||
* Possible styles that can be used on a token in a JSON theme.
|
||||
* See the [chalk](https://github.com/chalk/chalk) module for more information.
|
||||
* `plain` means no styling.
|
||||
*/
|
||||
export declare type Style = 'reset' | 'bold' | 'dim' | 'italic' | 'underline' | 'inverse' | 'hidden' | 'strikethrough' | 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'bgBlack' | 'bgRed' | 'bgGreen' | 'bgYellow' | 'bgBlue' | 'bgMagenta' | 'bgCyan' | 'plain';
|
||||
/**
|
||||
* The schema of a JSON file defining a custom scheme. The key is a language token, while the value
|
||||
* is a [chalk](https://github.com/chalk/chalk#styles) style.
|
||||
*
|
||||
* Example:
|
||||
* ```json
|
||||
* {
|
||||
* "keyword": ["red", "bold"],
|
||||
* "addition": "green",
|
||||
* "deletion": ["red", "strikethrough"],
|
||||
* "number": "plain"
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
export interface JsonTheme extends Tokens<Style | Style[]> {
|
||||
}
|
||||
/**
|
||||
* Passed to [[highlight]] as the `theme` option. A theme is a map of language tokens to a function
|
||||
* that takes in string value of the token and returns a new string with colorization applied
|
||||
* (typically a [chalk](https://github.com/chalk/chalk) style), but you can also provide your own
|
||||
* formatting functions.
|
||||
*
|
||||
* Example:
|
||||
* ```ts
|
||||
* import {Theme, plain} from 'cli-highlight';
|
||||
* import chalk = require('chalk');
|
||||
*
|
||||
* const myTheme: Theme = {
|
||||
* keyword: chalk.red.bold,
|
||||
* addition: chalk.green,
|
||||
* deletion: chalk.red.strikethrough,
|
||||
* number: plain
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
export interface Theme extends Tokens<(codePart: string) => string> {
|
||||
/**
|
||||
* things not matched by any token
|
||||
*/
|
||||
default?: (codePart: string) => string;
|
||||
}
|
||||
/**
|
||||
* Identity function for tokens that should not be styled (returns the input string as-is).
|
||||
* See [[Theme]] for an example.
|
||||
*/
|
||||
export declare const plain: (codePart: string) => string;
|
||||
/**
|
||||
* The default theme. It is possible to override just individual keys.
|
||||
*/
|
||||
export declare const DEFAULT_THEME: Theme;
|
||||
/**
|
||||
* Converts a [[JsonTheme]] with string values to a [[Theme]] with formatter functions. Used by [[parse]].
|
||||
*/
|
||||
export declare function fromJson(json: JsonTheme): Theme;
|
||||
/**
|
||||
* Converts a [[Theme]] with formatter functions to a [[JsonTheme]] with string values. Used by [[stringify]].
|
||||
*/
|
||||
export declare function toJson(theme: Theme): JsonTheme;
|
||||
/**
|
||||
* Stringifies a [[Theme]] with formatter functions to a JSON string.
|
||||
*
|
||||
* ```ts
|
||||
* import chalk = require('chalk');
|
||||
* import {stringify} from 'cli-highlight';
|
||||
* import * as fs from 'fs';
|
||||
*
|
||||
* const myTheme: Theme = {
|
||||
* keyword: chalk.red.bold,
|
||||
* addition: chalk.green,
|
||||
* deletion: chalk.red.strikethrough,
|
||||
* number: plain
|
||||
* }
|
||||
* const json = stringify(myTheme);
|
||||
* fs.writeFile('mytheme.json', json, (err: any) => {
|
||||
* if (err) throw err;
|
||||
* console.log('Theme saved');
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
export declare function stringify(theme: Theme): string;
|
||||
/**
|
||||
* Parses a JSON string into a [[Theme]] with formatter functions.
|
||||
*
|
||||
* ```ts
|
||||
* import * as fs from 'fs';
|
||||
* import {parse, highlight} from 'cli-highlight';
|
||||
*
|
||||
* fs.readFile('mytheme.json', 'utf8', (err: any, json: string) => {
|
||||
* if (err) throw err;
|
||||
* const code = highlight('SELECT * FROM table', {theme: parse(json)});
|
||||
* console.log(code);
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
export declare function parse(json: string): Theme;
|
Reference in New Issue
Block a user