自分用のちょっとしたスクリプトをまとめる gem を作ってみました。
noir ってやつです。
もともとスクリプトは このへん に作ってまとめていて、 /usr/local/bin に symlink して使ってました。
それがだんだん増えてきて、どうしようかなー、となっていたところに zsh な補完は自分で定義できる ことが分かったのでどうせなので gem にしてしまおう、ということで作ってみました。
作った class に従ってコマンドを作れば zsh で補完が効く、って物体です。
例えば Noir::Base::Command にはサブコマンドがあるコマンドで、 Noir::Base::TerminalCommand はそれが終端のコマンドなので実行されるやつ、とかです。
書いてて思いましたが、こういう抽象的なやつは若干書きづらい感が。
例えば、補完する Command のリストを取るために文字列から Class の constants を取ってくる時に文字列でクラス名を作って eval して class にして、とかやってたりして、突然コードの中に eval が出てくる、みたいな。
ただ、ここまで書いちゃえば後は追加していくだけかなー、とか思ってます。
なので、 note を 作る command しか無いですが、 v0.0.1 をリリース してみました。
あと、他にも RSpec にも手を出してみたりとか、実は gem 名が最初の案の時には被っててこれは二代目の名前だったりとかありますが、その辺はあとで。
0 件のコメント:
コメントを投稿