Colorful

It's not just color, it's everything colorful in terminal.

Color

Color in terminal and only terminal.

Programmer

As a programmer, you think they are functions:

var color = require('colorful').color
color.red('hello')
color.underline('hello')
color.red(color.underline('hello'))

Human

As a human, you think you are a painter:

var paint = require('colorful').paint
paint('hello').red.color
paint('hello').bold.underline.red.color

WTF, is bold, underline a color? If you don't like the idea, try:

paint('hello').bold.underline.red.style

Alien

As an alien, you are from outer space, you think it should be:

require('colorful').colorful()
'hello'.to.red.color
'hello'.to.underline.bold.red.color
'hello'.to.underline.bold.red.style

Detective

As a detective, you think we should detect if color is supported:

require('colorful').isSupported

// we can disable color
require('colorful').disabled = true
require('colorful').isSupported
// => false

Logging

Colorful and nested logging in terminal.

nico

Favorite

Default is my favorite, we should do nothing:

var logging = require('colorful').logging;
// start a nested logging
logging.start('Start Application')
logging.info('send an info message')

// start another nested logging
logging.start('Start subprocess')
logging.warn('send a warn message')
logging.end('End subprocess')

logging.error('send an error message')
logging.debug('send a debug message')
logging.end('End Application')

Config

I want to show debug message:

logging.config('debug')
// or
logging.config({level: 'debug'})
logging.config({verbose: true})

Scheme

Define your logging scheme:

var scheme = {
    debug: {
        start: '# ',
        color: 'gray',
        end: ' #'
    },
    info: {
        start: 'v ',
        color: 'green'
    },
    warn: {
        start: '! ',
        color: 'yellow'
    },
    error: {
        start: 'x ',
        color: 'red'
    },
    start: {
        start: '> '
    },
    end: {
        start: '< '
    }
}
logging.scheme = scheme;
Fork me on GitHub