lihai 8d6c751f49 feat: push | 2 years ago | |
---|---|---|
.. | ||
index.js | 2 years ago | |
kleur.d.ts | 2 years ago | |
license | 2 years ago | |
package.json | 2 years ago | |
readme.md | 2 years ago |
String.prototype
modificationsOriginally inspired by ansi-colors
. See Credits for more info!
$ npm install --save kleur
const kleur = require('kleur');
// basic usage
kleur.red('red text');
// chained methods
kleur.blue.bold.underline('howdy partner');
// nested methods
kleur.bold(`${ kleur.bgRed.white('[ERROR]') } ${ kleur.red.italic('Something happened')}`);
console.log(kleur.bold.red('this is a bold red message'));
console.log(kleur.bold.italic('this is a bold italicized message'));
console.log(kleur.bold.yellow.bgRed.italic('this is a bold yellow italicized message'));
console.log(kleur.green.bold.underline('this is a bold green underlined message'));
const { yellow, red, cyan } = require('kleur');
console.log(yellow(`foo ${red.bold('red')} bar ${cyan('cyan')} baz`));
console.log(yellow('foo ' + red.bold('red') + ' bar ' + cyan('cyan') + ' baz'));
Toggle color support as needed; kleur
assumes it's always enabled.
const kleur = require('kleur');
// manually disable
kleur.enabled = false;
// or use a library to detect support
kleur.enabled = require('color-support').level;
console.log(kleur.red('I will only be colored red if the terminal supports colors'));
Any kleur
method returns a String
(when invoked, not chained). It's up to the developer to pass the output to destinations like console.log
, process.stdout.write
, etc.
The methods below are grouped by type for legibility purposes only. They each can be chained or nested with one another.
Colors:
black — red — green — yellow — blue — magenta — cyan — white — gray
Backgrounds:
bgBlack — bgRed — bgGreen — bgYellow — bgBlue — bgMagenta — bgCyan — bgWhite
Modifiers:
reset — bold — dim — italic* — underline — inverse — hidden — strikethrough*
* Not widely supported
Using Node v8.9.0
chalk: 9.372ms
turbocolor: 0.526ms
ansi-colors: 0.851ms
kleur: 0.862ms
# All Colors
ansi-colors x 60,485 ops/sec ±0.63% (96 runs sampled)
chalk x 7,184 ops/sec ±3.77% (68 runs sampled)
turbocolor x 95,468 ops/sec ±0.60% (94 runs sampled))
kleur x 151,365 ops/sec ±0.22% (95 runs sampled)
# Stacked colors
ansi-colors x 13,754 ops/sec ±0.44% (93 runs sampled)
chalk x 1,732 ops/sec ±3.76% (71 runs sampled)
turbocolor x 28,709 ops/sec ±1.32% (92 runs sampled)
kleur x 30,837 ops/sec ±0.13% (93 runs sampled)
# Nested colors
ansi-colors x 28,898 ops/sec ±0.32% (96 runs sampled)
chalk x 3,389 ops/sec ±4.03% (71 runs sampled)
turbocolor x 48,034 ops/sec ±1.47% (99 runs sampled)
kleur x 61,266 ops/sec ±0.33% (97 runs sampled)
This project was originally inspired by Brian Woodward's awesome ansi-colors
project.
Unlike v1, the latest version(s) of kleur
no longer supports:
\n
or \r
kleur.clear()
methodIn addition, kleur
continues to be ship without symbols and bright color variants.
If you need any of these features, please use ansi-colors
instead~!
MIT © Luke Edwards