forked from orbit-oss/chalk
276 lines
5.3 KiB
TypeScript
276 lines
5.3 KiB
TypeScript
export const enum Level {
|
|
/**
|
|
* All colors disabled.
|
|
*/
|
|
None = 0,
|
|
|
|
/**
|
|
* Basic 16 colors support.
|
|
*/
|
|
Basic = 1,
|
|
|
|
/**
|
|
* ANSI 256 colors support.
|
|
*/
|
|
Ansi256 = 2,
|
|
|
|
/**
|
|
* Truecolor 16 million colors support.
|
|
*/
|
|
TrueColor = 3
|
|
}
|
|
|
|
export interface Options {
|
|
/**
|
|
* Enable or disable Chalk.
|
|
*
|
|
* @default true
|
|
*/
|
|
enabled?: boolean;
|
|
|
|
/**
|
|
* Specify the color support for Chalk.
|
|
* By default, color support is automatically detected based on the environment.
|
|
*/
|
|
level?: Level;
|
|
}
|
|
|
|
export interface Constructor {
|
|
/**
|
|
* Return a new Chalk instance.
|
|
*/
|
|
new (options?: Options): Chalk;
|
|
}
|
|
|
|
/**
|
|
* Detect whether the terminal supports color.
|
|
*/
|
|
export interface ColorSupport {
|
|
/**
|
|
* The color level used by Chalk.
|
|
*/
|
|
level: Level;
|
|
|
|
/**
|
|
* Return whether Chalk supports basic 16 colors.
|
|
*/
|
|
hasBasic: boolean;
|
|
|
|
/**
|
|
* Return whether Chalk supports ANSI 256 colors.
|
|
*/
|
|
has256: boolean;
|
|
|
|
/**
|
|
* Return whether Chalk supports Truecolor 16 million colors.
|
|
*/
|
|
has16m: boolean;
|
|
}
|
|
|
|
export interface Chalk {
|
|
(...text: unknown[]): string;
|
|
|
|
(text: TemplateStringsArray, ...placeholders: unknown[]): string;
|
|
|
|
/**
|
|
* Return a new Chalk instance.
|
|
*/
|
|
constructor: Constructor;
|
|
|
|
/**
|
|
* Enable or disable Chalk.
|
|
*
|
|
* @default true
|
|
*/
|
|
enabled: boolean;
|
|
|
|
/**
|
|
* The color support for Chalk.
|
|
* By default, color support is automatically detected based on the environment.
|
|
*/
|
|
level: Level;
|
|
|
|
/**
|
|
* Use HEX value to set text color.
|
|
*
|
|
* @param color - Hexadecimal value representing the desired color.
|
|
*
|
|
* @example
|
|
*
|
|
* import chalk from 'chalk';
|
|
*
|
|
* chalk.hex('#DEADED');
|
|
*/
|
|
hex(color: string): this;
|
|
|
|
/**
|
|
* Use keyword color value to set text color.
|
|
*
|
|
* @param color - Keyword value representing the desired color.
|
|
*
|
|
* @example
|
|
*
|
|
* import chalk from 'chalk';
|
|
*
|
|
* chalk.keyword('orange');
|
|
*/
|
|
keyword(color: string): this;
|
|
|
|
/**
|
|
* Use RGB values to set text color.
|
|
*/
|
|
rgb(red: number, green: number, blue: number): this;
|
|
|
|
/**
|
|
* Use HSL values to set text color.
|
|
*/
|
|
hsl(hue: number, saturation: number, lightness: number): this;
|
|
|
|
/**
|
|
* Use HSV values to set text color.
|
|
*/
|
|
hsv(hue: number, saturation: number, value: number): this;
|
|
|
|
/**
|
|
* Use HWB values to set text color.
|
|
*/
|
|
hwb(hue: number, whiteness: number, blackness: number): this;
|
|
|
|
/**
|
|
* Use HEX value to set background color.
|
|
*
|
|
* @param color - Hexadecimal value representing the desired color.
|
|
*
|
|
* @example
|
|
*
|
|
* import chalk from 'chalk';
|
|
*
|
|
* chalk.bgHex('#DEADED');
|
|
*/
|
|
bgHex(color: string): this;
|
|
|
|
/**
|
|
* Use keyword color value to set background color.
|
|
*
|
|
* @param color - Keyword value representing the desired color.
|
|
*
|
|
* @example
|
|
*
|
|
* import chalk from 'chalk';
|
|
*
|
|
* chalk.bgKeyword('orange');
|
|
*/
|
|
bgKeyword(color: string): this;
|
|
|
|
/**
|
|
* Use RGB values to set background color.
|
|
*/
|
|
bgRgb(red: number, green: number, blue: number): this;
|
|
|
|
/**
|
|
* Use HSL values to set background color.
|
|
*/
|
|
bgHsl(hue: number, saturation: number, lightness: number): this;
|
|
|
|
/**
|
|
* Use HSV values to set background color.
|
|
*/
|
|
bgHsv(hue: number, saturation: number, value: number): this;
|
|
|
|
/**
|
|
* Use HWB values to set background color.
|
|
*/
|
|
bgHwb(hue: number, whiteness: number, blackness: number): this;
|
|
|
|
/**
|
|
* Modifier: Resets the current color chain.
|
|
*/
|
|
readonly reset: this;
|
|
|
|
/**
|
|
* Modifier: Make text bold.
|
|
*/
|
|
readonly bold: this;
|
|
|
|
/**
|
|
* Modifier: Emitting only a small amount of light.
|
|
*/
|
|
readonly dim: this;
|
|
|
|
/**
|
|
* Modifier: Make text italic. (Not widely supported)
|
|
*/
|
|
readonly italic: this;
|
|
|
|
/**
|
|
* Modifier: Make text underline. (Not widely supported)
|
|
*/
|
|
readonly underline: this;
|
|
|
|
/**
|
|
* Modifier: Inverse background and foreground colors.
|
|
*/
|
|
readonly inverse: this;
|
|
|
|
/**
|
|
* Modifier: Prints the text, but makes it invisible.
|
|
*/
|
|
readonly hidden: this;
|
|
|
|
/**
|
|
* Modifier: Puts a horizontal line through the center of the text. (Not widely supported)
|
|
*/
|
|
readonly strikethrough: this;
|
|
|
|
/**
|
|
* Modifier: Prints the text only when Chalk is enabled.
|
|
* Can be useful for things that are purely cosmetic.
|
|
*/
|
|
readonly visible: this;
|
|
|
|
readonly black: this;
|
|
readonly red: this;
|
|
readonly green: this;
|
|
readonly yellow: this;
|
|
readonly blue: this;
|
|
readonly magenta: this;
|
|
readonly cyan: this;
|
|
readonly white: this;
|
|
readonly gray: this;
|
|
readonly grey: this;
|
|
readonly blackBright: this;
|
|
readonly redBright: this;
|
|
readonly greenBright: this;
|
|
readonly yellowBright: this;
|
|
readonly blueBright: this;
|
|
readonly magentaBright: this;
|
|
readonly cyanBright: this;
|
|
readonly whiteBright: this;
|
|
|
|
readonly bgBlack: this;
|
|
readonly bgRed: this;
|
|
readonly bgGreen: this;
|
|
readonly bgYellow: this;
|
|
readonly bgBlue: this;
|
|
readonly bgMagenta: this;
|
|
readonly bgCyan: this;
|
|
readonly bgWhite: this;
|
|
readonly bgBlackBright: this;
|
|
readonly bgRedBright: this;
|
|
readonly bgGreenBright: this;
|
|
readonly bgYellowBright: this;
|
|
readonly bgBlueBright: this;
|
|
readonly bgMagentaBright: this;
|
|
readonly bgCyanBright: this;
|
|
readonly bgWhiteBright: this;
|
|
}
|
|
|
|
/**
|
|
* Main Chalk object that allows to chain styles together.
|
|
* Call the last one as a method with a string argument.
|
|
* Order doesn't matter, and later styles take precedent in case of a conflict.
|
|
* This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
|
*/
|
|
declare const chalk: Chalk & { supportsColor: ColorSupport };
|
|
|
|
export default chalk;
|