pecoでcsvqのsyntaxを調べやすくしてみる
csvqのSyntaxを確認したい場合に、コマンド補完にて候補選択及び詳細確認を簡潔に行えるようにしてみました。
CSVの計算等でワークハードのお供となっているcsvqにて、「こう書きたい時のsyntaxはどんな感じだろう」と調べる事がちょくちょくあります。その度にcsvq syntax
を入力していましたが、
- 対象句を一覧から確認(
csvq syntax
) - 対象句詳細表示(
csvq syntax TARGET
)
と都合2回入力となります。1回でなんとかしたいなと思い、pecoによるコマンド補完を併用してみました。
入力補完について
コマンド入力での補完に関する記事として、DevIOにも以下のようなエントリーが既に存在します。
- fzfを使った自作インタラクティブアプリを作ってみよう!〜git addを快適に〜
- 【TAB補完】BASH Complete と fzf で「ぼくのかんがえたさいきょうの AWS_PROFILE 環境変数設定環境」をつくる【メニュー選択】
fzfとpecoの関係については以下の記事でさっくりと触れられています。
今回pecoを選んだ理由については、
- pecoが作られた過程の中にfzfとWindowsの相性があること
- csvqは各プラットフォーム向けに単体動作でのバイナリが提供されていること
- pecoとcsvqのcontributorに共通の人物がいること
などです。ある程度動きが担保されるはず、という目論見です。
補完設定
今回はzsh前提です。
% brew install peco % vim ~/.zshrc function csvqs() { result="$(csvq syntax | peco)" print "> csvq syntax${result}" csvq syntax ${result} | less }
csvq syntaxを実行しつつ、該当する句を選択表示させて、解説にスクロールが必要となる場合を想定してlessを呼んでます。
まとめ
同等の動作を作り込んでpull-reqで投げることも考えましたが、「補完で済ませられるんだからそれでいいやん」という結論になりました。
色々と出来ることが見やすくなるため、使いこなしてみたいけどsyntaxで躊躇してた、みたいな人にはオススメです。