gccの出力をカラーにする
といってもすごいことをやってるわけじゃない
sedするだけ。
標準入力とエラー出力を分けるためにわざわざfifo作ってるけど別に混ざっていいなら"2>&1"だけでおっけー
-rwxr--r-- 1 500 500 306 2008-01-22 20:34 g++
#!/usr/bin/env bash TMP=`mktemp g++.XXXXXX` rm -f $TMP mkfifo $TMP cat $TMP | \ sed -e "s/^.*エラー:.*$/^[[31m\0^[[0m/g" | \ sed -e "s/^.*警告:.*$/^[[32m\0^[[0m/g" | \ sed -e "s/^.*error:.*$/^[[31m\0^[[0m/g" | \ sed -e "s/^.*warning:.*$/^[[32m\0^[[0m/g" 1>&2 & /usr/local/bin/g++ $@ 2>$TMP rm -f $TMP
"/usr/local/bin"は適当に変えなすって。
途中にある"^["はエスケープ文字ですじゃ。
vimでの簡単な入力方法は
:.!echo -e "\033"
で現在行がエスケープ文字に変わるので適当にヤンクしてプット。
gccに関しても適当に。
あとはこれらをPATHの通ってるとことで優先度の高いところへ置いておけばよし。
やってることは地味だけど、地味は地味なりにそこそこ便利。
warningが緑で、errorが赤。気に入らなければ31とか32をかえてちょ。
#追記2008-01-27
#これやるとvimでの:makeで不具合が...
#う〜ん。なにか手はないものか...