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.
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;