読者です 読者をやめる 読者になる 読者になる

Greple 仕様変更と多色化

関連


--cut やめて --need にしました

新しく --need というオプションを作って、マッチするパターンの数を指定できるようにしました。 そこで負の値を指定すると、今までの --cut と同じ意味になります。 --cut の方はわかりにくいので、まだ使っている人はいないだろうと思って削除しちゃいました。

ネガティブマッチを許す --allow の方はそのままで、やはり負の値を受け付けるようにしました。

greple --need=2 --allow=1 'foo bar baz -yabba -dabba -doo'

--print 関数の仕様変更

--print オプションで指定する関数の仕様を変えました。

今までは関数の返り値は見ていなかったのですが、今は返って来た値を出力するようになっています。 ですから、関数では出力したい文字列を返すようにします。 関数内で出力しちゃった場合には、空文字列を返してください。

また、--continue オプションを指定すると、返り値をそのまま出力せずに、通常の出力処理を続けるようになっています。 元の文字列を変更してしまうと、うまく出ないことがあるので注意して使いましょう。


多色化

--colormode で複数の色を指定できるようにしました。 そうすると、指定したキーワード毎に違う色を使うようになります。

また --colorful というオプションを追加して、これは --colormode 'RD GD BD CD MD YD' と同じ意味です。 このように出力されます。

f:id:uta46:20140113160441p:plain

こんな例だとあまり役に立つようには見えませんが、たとえばこんな風にするといくらか使い道はあるかもしれません。

greple --colorful --need 1 --icode=auto -e '\p{Han}+' -e '\p{InHiragana}+' -e '\p{InKatakana}+' -e '[a-zA-Z]+' -e '\d+' -e '[\pP\pS]+'

f:id:uta46:20140113160518p:plain

調子にのって --random というオプションも付けてみました。 ポップな感じですが、あまり意味はありません。

greple --all --colorful --random '\S+' greple

f:id:uta46:20140113160605p:plain