Enjoyable library for colorful printing in the console
cute-print
is an alternative to well-known libraries like chalk which focus on less typing, more readability and confort of use.
Note that colors will not display on windows console. If you work on windows, you should really consider using an external terminal tool like cmder or hyper.
Also see cute-dump if you need to pretty-dump an object.
Usage
Import print
:
import print from 'cute-print'
const print = require('cute-print')
Print a colored value :
print `Hello [red: world]!`
print `Hello [red.bgWhite: world]!`
let who = 'world'
print `Hello [green.bold:${who}]!`
You can nest colors - although it becomes easily complex : (you should consider using the next syntax)
print `Hello [red: world and [bold:universe]]!`
You can use a tag without the :
- that will affect the string up to the end.
print `Hello [red] world and [bold] universe!`
You can use [reset]
to reset the style :
print `Hello [red.bold] world and [reset] universe!`
You can also use a default styling for the whole string :
print.red `Hello red world!`
print.red.bgWhite `Hello red world on white background!`
Printing on the error
or warning
streams :
print.warn `You are a cute dangerous guy`
print.error `Something wrong happened`
print.error.red `Something wrong happened`
Comparison with chalk
Remember that every library has its pros and cons - and everyone has its own preferences.
chalk
has support for true colorscute-print
is written in Typescript an can be used in any Typescript project with zero effortcute-print
has no dependencies
Syntax comparison
The exemples are actually from my own code, just before I decided to create this library.
console.log(chalk.green('\n-' + chalk.bold(' The mole starts to sniff!')))
print.green `\n- [bold] The mole starts to sniff!`
console.log(chalk.blueBright('Entities :'), total - empty)
print.brightBlue `Entities : ${total - empty}`
Tag reference
You can mix any tag anytime by using a dot .
as separator.
Color | Bright color | Background color |
---|
black | brightBlack | bgBlack |
red | brightRed | bgRed |
green | brightGreen | bgGreen |
yellow | brightYellow | bgYellow |
blue | brightBlue | bgBlue |
magenta | brightMagenta | bgMagenta |
cyan | brightCyan | bgCyan |
white | brightWhite | bgWhite |
All tags marked with an asterisk *
are not supported in many consoles.
Style | Effect |
---|
reset | Reset all style and color |
bold | Increase intensity |
dim | Decrease intensity |
italic* | |
underline | |
blink* | |
fastblink* | |
reverse | Swap foreground and background colors |
hidden* | Hide the given text |
stroke* | Strike text |
default | |