2017-01-26: Colorizeをさらに書き直した
やったこと
日記をがんばって更新した
忙しすぎて更新できていなかったので書くことはあるんだなぁと感じたのだけど、当日更新しないと何があったか忘れるなぁという感じ。
Colorizeをさらに書き直した
お前はいったいどれだけColorizeを弄り続けるんだという感じ。気が付いたら差分2000行くらいになった。誰がそんな行数の差分をレビューできるんだ。
Colorize::ColorizableIOというものを追加して、IO::FileDescriptorでmixinするようにした。で、これがcolorize_whenというプロパティを持っていて、その値に応じてエスケープシーケンスを出力するかどうかを決めるようにした。あと、色付けのスタックもIOが持つようにした。
で、ここまでやるとコンパイラの方も色々と書き直さなくちゃいけなくなって困る。がんばって書き直しているうちに、例外のメッセージが色付けされたものはメッセージを組み立てるときに色付けされてるっぽいのが面倒だった。Colorize::Builderを追加して、色付けされたものを持っておいて実際に出力するまで色付けするかどうかを遅延させられるようにした。
セイレンを観た
3話まで。面白いなー、これ。最悪オタクが大好きな最悪アニメって感じだ。いいっすね。
ガヴリールドロップアウトも観なきゃ。