The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

コマンド

  $0 

   数字に、電気抵抗のカラーコードに似た色を被せる。
   このコマンドは、標準入力または指定されたファイルから中身を読み取り、その中から
   数値(0,1,2,3,4,5,6,7,8,9の10文字)を見つけて、世界的に使われている電気抵抗器の
   カラーコードに応じた色を着色する。この結果、数値の多いデータが非常に見やすくなる
   場合がある。

 文字 電気抵抗器カーコード 実際にこのコマンドが着色する色(カラーコードと異なる場合)
 0 黒 → 暗い灰色とする(8の灰色より暗い)。
 1 茶 
 2 赤 
 3 橙 
 4 黄 
 5 緑 
 6 青 
 7 紫 
 8 灰 
 9 白 → 明るい白(標準の白よりも明るい)

オプション: このセクションでは N は数値を表す。 -= N : 先頭 N 行は、着色しない。

利用例: resistorcc --help | resistorcc # このコマンドのヘルプの数値の部分のみが着色される seq 10 | resistorcc

開発メモ: * 基本の8色と、DARKとBRIGHTとの組み合わせを使い回している。256色が使える場合の指定が可能としたい。 * このプログラムがutf8を前提にしていることは問題あるかも。 * cat ?? | resistorcc | resistorcc のように2回重ねて実行してもレイアウトが崩れないようにしたが、バイト数がどんどん膨らむ。 * 入力行数、着色した行数、着色した文字の数をSTDERRに出力しても良いかも。