~colorette~ color your terminal using pure idiomatic JavaScript
source link: https://github.com/jorgebucaran/colorette
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Colorette
Color your terminal using pure idiomatic JavaScript.
Colorette is a Node.js library for embellishing your CLI tools with colors and styles using ANSI escape codes .
- No wonky prototype-based method chains.
- Automatic color support detection.
- ~80 LOC and no dependencies.
-
NO_COLOR
friendly.
Quickstart
npm i colorette
Import theyou need.'s the list of styles you can use.
const { red, blue, bold } = require("colorette")
Wrap your strings in one or more styles to produce the finish you're looking for.
console.log(bold(blue("Engage!")))
Mix it with template literals to interpolate variables, expressions and create multi-line strings easily.
console.log(` Beets are ${red("red")}, Plums are ${blue("blue")}, ${bold("Colorette!")}. `)
Using console.log
's string substitution
can be useful too.
console.log(bold("Total: $%f"), 1.99)
You can also nest styles without breaking existing escape codes.
console.log(red(`Red Shirt ${blue("Blue Shirt")} Red Shirt`))
Feeling adventurous? Try the pipeline operator .
console.log("Make it so!" |> bold |> blue)
Supported styles
Colorette supports the standard and bright color variations out-of-the-box. See this issue if you were looking for TrueColor support.
Colors Background Colors Bright Colors Bright Background Colors Modifiers black bgBlack blackBright bgBlackBright dim red bgRed redBright bgRedBright bold green bgGreen greenBright bgGreenBright hidden yellow bgYellow yellowBright bgYellowBright italic blue bgBlue blueBright bgBlueBright underline magenta bgMagenta magentaBright bgMagentaBright strikethrough cyan bgCyan cyanBright bgCyanBright reset white bgWhite whiteBright bgWhiteBright grayAPI
style(string)
Returns a string wrapped in the corresponding ANSI escape codes.
red("Red Alert") //=> \u001b[31mRed Alert\u001b[39m
options.enabled
Color will be enabled if your terminal supports it, FORCE_COLOR
is defined in
process.env
and if NO_COLOR
isn't, but you can always override it if you want.
const { options } = require("colorette") options.enabled = false
Run the benchmarks
npm i -C bench && node bench
colorette × 759,429 ops/sec chalk × 524,034 ops/sec kleur × 490,347 ops/sec colors × 255,661 ops/sec ansi-colors × 317,605 ops/sec
License
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK