coloを作りました。
coloとは
console.logとかを簡単に色付けできるモジュールです。下記のような書き方で色付けできます。
var colo = require("colo"); console.log(colo.red("colo colo")); console.log(colo.cyan.bold("colo colo")); console.log(colo.green.underline("colo colo")); console.log(colo.magenta.italic("colo colo")); console.log(colo.grey.inverse("colo colo"));
install 方法
$ npm install colo
作った動機
コンソールの文字列を赤くしたり、緑にしたりするのをよくやってたんですけど、これまでこんな感じでやってました。
//コンソール赤くする: console.log('\033[31m' + 'Hello World'+ '\033[39m'); //コンソール黄色くする: console.log('\033[33m'+ 'Hello World'+ '\033[39m'); //コンソール青色にする: console.log('\033[36m' + 'Hello World' + '\033[39m'); //コンソール灰色にする: console.log('\033[90m' + 'Hello World' + '\033[39m'); //コンソール緑色にする: console.log('\033[32m ' + 'Hello World'+ ' \033[39m');
この「\033[32m 〜 \033[39m
」が覚えられなくなってきたので、ここまでたくさんやるならちゃんとモジュール化しておこうと思ったのがきっかけです。
※ あと一応、\033
はOctal literalsなので、"use strict"
の下では怒られます。
こだわったところ
colorizeモジュールは既にいくつも存在するんですが、Stringのprototype拡張してたり、依存モジュールが多かったり、文字列の中で独自の構文を覚えないといけなかったりするのでもう少し手軽なやつを、、、と思って作りました。
依存モジュールを減らしたかったんですが、AnsiColorの定義はコード内に持ちたくないなぁと思ってたらコアのutilモジュールが持ってたので、それだけに依存するようにしました。