Merge pull request #103 from konsumer/master

Multiple styles in themes
This commit is contained in:
Pavan Kumar Sunkara 2015-01-24 16:43:06 +01:00
commit b34d3ba66a
2 changed files with 19 additions and 0 deletions

View File

@ -162,6 +162,18 @@ console.log(colors.error("this is an error"));
// outputs yellow text // outputs yellow text
console.log(colors.warn("this is a warning")); console.log(colors.warn("this is a warning"));
```
You can also combine them:
```javascript
colors.setTheme({
link: ['underline', 'blue']
});
// outputs underlined blue text
console.log(colors.info('Listening on ') + colors.link('http://0.0.0.0:' + port) );
``` ```
*Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* *Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.*

View File

@ -119,6 +119,13 @@ function applyTheme (theme) {
for (var style in theme) { for (var style in theme) {
(function(style){ (function(style){
colors[style] = function(str){ colors[style] = function(str){
if (typeof theme[style] === 'object'){
var out = str;
for (var i in theme[style]){
out = colors[theme[style][i]](out);
}
return out;
}
return colors[theme[style]](str); return colors[theme[style]](str);
}; };
})(style) })(style)