node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »



Rainbowify string with rainicorn # Install

npm install ansi-rainbow

Basic example

var rainbow = require('ansi-rainbow')
console.log(rainbow.r("I am in the pony world"))
console.log(rainbow.r("I", "am", "in", "the", "pony", "world"))
//what about background rainbows? 
console.log("I am a background in the pony world"))

That outputs:

pony pony


Rainbow is skipping black and white colors (did you ever seen these on a rainbow?). But, we could imagine that in a world where Pony's are flying, black could be part of a rainbow so:

rainbow.add('black white') //adds black and white 

Let's write all features together to print a rainbow flag \o/:

    .add('black', 'white')
    .reset() //we do not want black and white anymore - note it does not reset options only colors 
    .skip(rainbow._backgrounds) //skips backgrounds 
    .add('bgBlue bgMagenta bgCyan') //this will keep order when rainbowified 
    .options({color_space: true, gap: 3}) //this will force color spaces and change color every 3 characters 
    console.log('         '))
    console.log('         '))

That outputs:

pony pony


  • r(string) rainbowify
  • bg(string) background-rainbowify
  • add(colors) do not skip colors
  • skip(colors) skip colors
  • reset() reset colors (skips ['black', 'white', 'bgBlack', 'bgWhite'])
  • options({}) set options
    • (bool) .color_space or .colorSpace - whether to color spaces
    • (string) .space_color or .spaceColor - space color string
    • (int) .gap - the gap size between a color change


What about everything that is not a string?