pecoでcsvqのsyntaxを調べやすくしてみる

CSVの計算等でワークハードのお供となっているcsvqにて、「こう書きたい時のsyntaxはどんな感じだろう」と調べる事がちょくちょくあります。その度にcsvq syntaxを入力していましたが、

  1. 対象句を一覧から確認(csvq syntax)
  2. 対象句詳細表示(csvq syntax TARGET)

と都合2回入力となります。1回でなんとかしたいなと思い、pecoによるコマンド補完を併用してみました。

入力補完について

コマンド入力での補完に関する記事として、DevIOにも以下のようなエントリーが既に存在します。

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で躊躇してた、みたいな人にはオススメです。