1 | /**
|
---|
2 | Basic foreground colors.
|
---|
3 |
|
---|
4 | [More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
---|
5 | */
|
---|
6 | declare type ForegroundColor =
|
---|
7 | | 'black'
|
---|
8 | | 'red'
|
---|
9 | | 'green'
|
---|
10 | | 'yellow'
|
---|
11 | | 'blue'
|
---|
12 | | 'magenta'
|
---|
13 | | 'cyan'
|
---|
14 | | 'white'
|
---|
15 | | 'gray'
|
---|
16 | | 'grey'
|
---|
17 | | 'blackBright'
|
---|
18 | | 'redBright'
|
---|
19 | | 'greenBright'
|
---|
20 | | 'yellowBright'
|
---|
21 | | 'blueBright'
|
---|
22 | | 'magentaBright'
|
---|
23 | | 'cyanBright'
|
---|
24 | | 'whiteBright';
|
---|
25 |
|
---|
26 | /**
|
---|
27 | Basic background colors.
|
---|
28 |
|
---|
29 | [More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
---|
30 | */
|
---|
31 | declare type BackgroundColor =
|
---|
32 | | 'bgBlack'
|
---|
33 | | 'bgRed'
|
---|
34 | | 'bgGreen'
|
---|
35 | | 'bgYellow'
|
---|
36 | | 'bgBlue'
|
---|
37 | | 'bgMagenta'
|
---|
38 | | 'bgCyan'
|
---|
39 | | 'bgWhite'
|
---|
40 | | 'bgGray'
|
---|
41 | | 'bgGrey'
|
---|
42 | | 'bgBlackBright'
|
---|
43 | | 'bgRedBright'
|
---|
44 | | 'bgGreenBright'
|
---|
45 | | 'bgYellowBright'
|
---|
46 | | 'bgBlueBright'
|
---|
47 | | 'bgMagentaBright'
|
---|
48 | | 'bgCyanBright'
|
---|
49 | | 'bgWhiteBright';
|
---|
50 |
|
---|
51 | /**
|
---|
52 | Basic colors.
|
---|
53 |
|
---|
54 | [More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
---|
55 | */
|
---|
56 | declare type Color = ForegroundColor | BackgroundColor;
|
---|
57 |
|
---|
58 | declare type Modifiers =
|
---|
59 | | 'reset'
|
---|
60 | | 'bold'
|
---|
61 | | 'dim'
|
---|
62 | | 'italic'
|
---|
63 | | 'underline'
|
---|
64 | | 'inverse'
|
---|
65 | | 'hidden'
|
---|
66 | | 'strikethrough'
|
---|
67 | | 'visible';
|
---|
68 |
|
---|
69 | declare namespace chalk {
|
---|
70 | /**
|
---|
71 | Levels:
|
---|
72 | - `0` - All colors disabled.
|
---|
73 | - `1` - Basic 16 colors support.
|
---|
74 | - `2` - ANSI 256 colors support.
|
---|
75 | - `3` - Truecolor 16 million colors support.
|
---|
76 | */
|
---|
77 | type Level = 0 | 1 | 2 | 3;
|
---|
78 |
|
---|
79 | interface Options {
|
---|
80 | /**
|
---|
81 | Specify the color support for Chalk.
|
---|
82 |
|
---|
83 | By default, color support is automatically detected based on the environment.
|
---|
84 |
|
---|
85 | Levels:
|
---|
86 | - `0` - All colors disabled.
|
---|
87 | - `1` - Basic 16 colors support.
|
---|
88 | - `2` - ANSI 256 colors support.
|
---|
89 | - `3` - Truecolor 16 million colors support.
|
---|
90 | */
|
---|
91 | level?: Level;
|
---|
92 | }
|
---|
93 |
|
---|
94 | /**
|
---|
95 | Return a new Chalk instance.
|
---|
96 | */
|
---|
97 | type Instance = new (options?: Options) => Chalk;
|
---|
98 |
|
---|
99 | /**
|
---|
100 | Detect whether the terminal supports color.
|
---|
101 | */
|
---|
102 | interface ColorSupport {
|
---|
103 | /**
|
---|
104 | The color level used by Chalk.
|
---|
105 | */
|
---|
106 | level: Level;
|
---|
107 |
|
---|
108 | /**
|
---|
109 | Return whether Chalk supports basic 16 colors.
|
---|
110 | */
|
---|
111 | hasBasic: boolean;
|
---|
112 |
|
---|
113 | /**
|
---|
114 | Return whether Chalk supports ANSI 256 colors.
|
---|
115 | */
|
---|
116 | has256: boolean;
|
---|
117 |
|
---|
118 | /**
|
---|
119 | Return whether Chalk supports Truecolor 16 million colors.
|
---|
120 | */
|
---|
121 | has16m: boolean;
|
---|
122 | }
|
---|
123 |
|
---|
124 | interface ChalkFunction {
|
---|
125 | /**
|
---|
126 | Use a template string.
|
---|
127 |
|
---|
128 | @remarks Template literals are unsupported for nested calls (see [issue #341](https://github.com/chalk/chalk/issues/341))
|
---|
129 |
|
---|
130 | @example
|
---|
131 | ```
|
---|
132 | import chalk = require('chalk');
|
---|
133 |
|
---|
134 | log(chalk`
|
---|
135 | CPU: {red ${cpu.totalPercent}%}
|
---|
136 | RAM: {green ${ram.used / ram.total * 100}%}
|
---|
137 | DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
|
---|
138 | `);
|
---|
139 | ```
|
---|
140 |
|
---|
141 | @example
|
---|
142 | ```
|
---|
143 | import chalk = require('chalk');
|
---|
144 |
|
---|
145 | log(chalk.red.bgBlack`2 + 3 = {bold ${2 + 3}}`)
|
---|
146 | ```
|
---|
147 | */
|
---|
148 | (text: TemplateStringsArray, ...placeholders: unknown[]): string;
|
---|
149 |
|
---|
150 | (...text: unknown[]): string;
|
---|
151 | }
|
---|
152 |
|
---|
153 | interface Chalk extends ChalkFunction {
|
---|
154 | /**
|
---|
155 | Return a new Chalk instance.
|
---|
156 | */
|
---|
157 | Instance: Instance;
|
---|
158 |
|
---|
159 | /**
|
---|
160 | The color support for Chalk.
|
---|
161 |
|
---|
162 | By default, color support is automatically detected based on the environment.
|
---|
163 |
|
---|
164 | Levels:
|
---|
165 | - `0` - All colors disabled.
|
---|
166 | - `1` - Basic 16 colors support.
|
---|
167 | - `2` - ANSI 256 colors support.
|
---|
168 | - `3` - Truecolor 16 million colors support.
|
---|
169 | */
|
---|
170 | level: Level;
|
---|
171 |
|
---|
172 | /**
|
---|
173 | Use HEX value to set text color.
|
---|
174 |
|
---|
175 | @param color - Hexadecimal value representing the desired color.
|
---|
176 |
|
---|
177 | @example
|
---|
178 | ```
|
---|
179 | import chalk = require('chalk');
|
---|
180 |
|
---|
181 | chalk.hex('#DEADED');
|
---|
182 | ```
|
---|
183 | */
|
---|
184 | hex(color: string): Chalk;
|
---|
185 |
|
---|
186 | /**
|
---|
187 | Use keyword color value to set text color.
|
---|
188 |
|
---|
189 | @param color - Keyword value representing the desired color.
|
---|
190 |
|
---|
191 | @example
|
---|
192 | ```
|
---|
193 | import chalk = require('chalk');
|
---|
194 |
|
---|
195 | chalk.keyword('orange');
|
---|
196 | ```
|
---|
197 | */
|
---|
198 | keyword(color: string): Chalk;
|
---|
199 |
|
---|
200 | /**
|
---|
201 | Use RGB values to set text color.
|
---|
202 | */
|
---|
203 | rgb(red: number, green: number, blue: number): Chalk;
|
---|
204 |
|
---|
205 | /**
|
---|
206 | Use HSL values to set text color.
|
---|
207 | */
|
---|
208 | hsl(hue: number, saturation: number, lightness: number): Chalk;
|
---|
209 |
|
---|
210 | /**
|
---|
211 | Use HSV values to set text color.
|
---|
212 | */
|
---|
213 | hsv(hue: number, saturation: number, value: number): Chalk;
|
---|
214 |
|
---|
215 | /**
|
---|
216 | Use HWB values to set text color.
|
---|
217 | */
|
---|
218 | hwb(hue: number, whiteness: number, blackness: number): Chalk;
|
---|
219 |
|
---|
220 | /**
|
---|
221 | Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set text color.
|
---|
222 |
|
---|
223 | 30 <= code && code < 38 || 90 <= code && code < 98
|
---|
224 | For example, 31 for red, 91 for redBright.
|
---|
225 | */
|
---|
226 | ansi(code: number): Chalk;
|
---|
227 |
|
---|
228 | /**
|
---|
229 | Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color.
|
---|
230 | */
|
---|
231 | ansi256(index: number): Chalk;
|
---|
232 |
|
---|
233 | /**
|
---|
234 | Use HEX value to set background color.
|
---|
235 |
|
---|
236 | @param color - Hexadecimal value representing the desired color.
|
---|
237 |
|
---|
238 | @example
|
---|
239 | ```
|
---|
240 | import chalk = require('chalk');
|
---|
241 |
|
---|
242 | chalk.bgHex('#DEADED');
|
---|
243 | ```
|
---|
244 | */
|
---|
245 | bgHex(color: string): Chalk;
|
---|
246 |
|
---|
247 | /**
|
---|
248 | Use keyword color value to set background color.
|
---|
249 |
|
---|
250 | @param color - Keyword value representing the desired color.
|
---|
251 |
|
---|
252 | @example
|
---|
253 | ```
|
---|
254 | import chalk = require('chalk');
|
---|
255 |
|
---|
256 | chalk.bgKeyword('orange');
|
---|
257 | ```
|
---|
258 | */
|
---|
259 | bgKeyword(color: string): Chalk;
|
---|
260 |
|
---|
261 | /**
|
---|
262 | Use RGB values to set background color.
|
---|
263 | */
|
---|
264 | bgRgb(red: number, green: number, blue: number): Chalk;
|
---|
265 |
|
---|
266 | /**
|
---|
267 | Use HSL values to set background color.
|
---|
268 | */
|
---|
269 | bgHsl(hue: number, saturation: number, lightness: number): Chalk;
|
---|
270 |
|
---|
271 | /**
|
---|
272 | Use HSV values to set background color.
|
---|
273 | */
|
---|
274 | bgHsv(hue: number, saturation: number, value: number): Chalk;
|
---|
275 |
|
---|
276 | /**
|
---|
277 | Use HWB values to set background color.
|
---|
278 | */
|
---|
279 | bgHwb(hue: number, whiteness: number, blackness: number): Chalk;
|
---|
280 |
|
---|
281 | /**
|
---|
282 | Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set background color.
|
---|
283 |
|
---|
284 | 30 <= code && code < 38 || 90 <= code && code < 98
|
---|
285 | For example, 31 for red, 91 for redBright.
|
---|
286 | Use the foreground code, not the background code (for example, not 41, nor 101).
|
---|
287 | */
|
---|
288 | bgAnsi(code: number): Chalk;
|
---|
289 |
|
---|
290 | /**
|
---|
291 | Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set background color.
|
---|
292 | */
|
---|
293 | bgAnsi256(index: number): Chalk;
|
---|
294 |
|
---|
295 | /**
|
---|
296 | Modifier: Resets the current color chain.
|
---|
297 | */
|
---|
298 | readonly reset: Chalk;
|
---|
299 |
|
---|
300 | /**
|
---|
301 | Modifier: Make text bold.
|
---|
302 | */
|
---|
303 | readonly bold: Chalk;
|
---|
304 |
|
---|
305 | /**
|
---|
306 | Modifier: Emitting only a small amount of light.
|
---|
307 | */
|
---|
308 | readonly dim: Chalk;
|
---|
309 |
|
---|
310 | /**
|
---|
311 | Modifier: Make text italic. (Not widely supported)
|
---|
312 | */
|
---|
313 | readonly italic: Chalk;
|
---|
314 |
|
---|
315 | /**
|
---|
316 | Modifier: Make text underline. (Not widely supported)
|
---|
317 | */
|
---|
318 | readonly underline: Chalk;
|
---|
319 |
|
---|
320 | /**
|
---|
321 | Modifier: Inverse background and foreground colors.
|
---|
322 | */
|
---|
323 | readonly inverse: Chalk;
|
---|
324 |
|
---|
325 | /**
|
---|
326 | Modifier: Prints the text, but makes it invisible.
|
---|
327 | */
|
---|
328 | readonly hidden: Chalk;
|
---|
329 |
|
---|
330 | /**
|
---|
331 | Modifier: Puts a horizontal line through the center of the text. (Not widely supported)
|
---|
332 | */
|
---|
333 | readonly strikethrough: Chalk;
|
---|
334 |
|
---|
335 | /**
|
---|
336 | Modifier: Prints the text only when Chalk has a color support level > 0.
|
---|
337 | Can be useful for things that are purely cosmetic.
|
---|
338 | */
|
---|
339 | readonly visible: Chalk;
|
---|
340 |
|
---|
341 | readonly black: Chalk;
|
---|
342 | readonly red: Chalk;
|
---|
343 | readonly green: Chalk;
|
---|
344 | readonly yellow: Chalk;
|
---|
345 | readonly blue: Chalk;
|
---|
346 | readonly magenta: Chalk;
|
---|
347 | readonly cyan: Chalk;
|
---|
348 | readonly white: Chalk;
|
---|
349 |
|
---|
350 | /*
|
---|
351 | Alias for `blackBright`.
|
---|
352 | */
|
---|
353 | readonly gray: Chalk;
|
---|
354 |
|
---|
355 | /*
|
---|
356 | Alias for `blackBright`.
|
---|
357 | */
|
---|
358 | readonly grey: Chalk;
|
---|
359 |
|
---|
360 | readonly blackBright: Chalk;
|
---|
361 | readonly redBright: Chalk;
|
---|
362 | readonly greenBright: Chalk;
|
---|
363 | readonly yellowBright: Chalk;
|
---|
364 | readonly blueBright: Chalk;
|
---|
365 | readonly magentaBright: Chalk;
|
---|
366 | readonly cyanBright: Chalk;
|
---|
367 | readonly whiteBright: Chalk;
|
---|
368 |
|
---|
369 | readonly bgBlack: Chalk;
|
---|
370 | readonly bgRed: Chalk;
|
---|
371 | readonly bgGreen: Chalk;
|
---|
372 | readonly bgYellow: Chalk;
|
---|
373 | readonly bgBlue: Chalk;
|
---|
374 | readonly bgMagenta: Chalk;
|
---|
375 | readonly bgCyan: Chalk;
|
---|
376 | readonly bgWhite: Chalk;
|
---|
377 |
|
---|
378 | /*
|
---|
379 | Alias for `bgBlackBright`.
|
---|
380 | */
|
---|
381 | readonly bgGray: Chalk;
|
---|
382 |
|
---|
383 | /*
|
---|
384 | Alias for `bgBlackBright`.
|
---|
385 | */
|
---|
386 | readonly bgGrey: Chalk;
|
---|
387 |
|
---|
388 | readonly bgBlackBright: Chalk;
|
---|
389 | readonly bgRedBright: Chalk;
|
---|
390 | readonly bgGreenBright: Chalk;
|
---|
391 | readonly bgYellowBright: Chalk;
|
---|
392 | readonly bgBlueBright: Chalk;
|
---|
393 | readonly bgMagentaBright: Chalk;
|
---|
394 | readonly bgCyanBright: Chalk;
|
---|
395 | readonly bgWhiteBright: Chalk;
|
---|
396 | }
|
---|
397 | }
|
---|
398 |
|
---|
399 | /**
|
---|
400 | Main Chalk object that allows to chain styles together.
|
---|
401 | Call the last one as a method with a string argument.
|
---|
402 | Order doesn't matter, and later styles take precedent in case of a conflict.
|
---|
403 | This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
---|
404 | */
|
---|
405 | declare const chalk: chalk.Chalk & chalk.ChalkFunction & {
|
---|
406 | supportsColor: chalk.ColorSupport | false;
|
---|
407 | Level: chalk.Level;
|
---|
408 | Color: Color;
|
---|
409 | ForegroundColor: ForegroundColor;
|
---|
410 | BackgroundColor: BackgroundColor;
|
---|
411 | Modifiers: Modifiers;
|
---|
412 | stderr: chalk.Chalk & {supportsColor: chalk.ColorSupport | false};
|
---|
413 | };
|
---|
414 |
|
---|
415 | export = chalk;
|
---|