2019-06-23

Poco

5月以降outputのリズムが崩れております🤔

時間の使い方の改善を目論み、ポモドーロを導入するなど。まだ効果の程は見えていないので今日はPowerShell版pecoのpocoを紹介する。

peco

まずpecoってなんじゃこらって感じでもあるのだが、linuxなどで使えるインクリメンタルなフィルタリングコマンドらしい。

Unix :: コマンド / peco [Tipsというかメモ]

こんなに便利な機能なので、もちろんWindowsでも使えるようになってある peco/peco: Simplistic interactive filtering tool

ただ日常使いのシェルをPowerShellにしている身としては、単純なテキストの絞り込みじゃなくてオブジェクトを扱えるやつが望ましいわけで...

poco

というふうに思ってたら普通にPowerShell Galleryにあったわ😲

PowerShellの場合はpowershell pecoというのがあって、それを使ったPSModuleがPSGalleryに上がっている...!!!これは使わない手はないぞよ🤔

ただしこのモジュール、powershell pecoのコードをそのまま使ってるのが現状みたいで、作者の方が書かれている改善点そのまま残ってるくさい😭

PowerShell で peco (インタラクティブ・フィルタリングツール)っぽいものを作った - Qiita

という具合に不完全なできであるのは確かなんやが、雰囲気でCLIにPowerShellを使っているようなワイには非常に便利なツールなのである。

pocoを使ってなにか書こう

例えば、PowerShellではCLIの完全な入力履歴を取ろうとしたらPSReadLineに頼ることになるのだが、こいつをインタラクティブにフィルタリングするコマンドをぺぺっと書いてしまうこともできる↓

function Show-ReadLineHistory() {
Get-Content -Path (Get-PSReadlineOption).HistorySavePath | poco
}

こんな風な単純なやつは正直なところpecoで十分なのだけど...

あと、検索結果の1行を選んで即実行なんしたいのだけど、pocoの機能不足でリストアップされた検索結果をarrow keyで選んだりとかできないので、今のところかなり癖のある使い方になってる😅

そんな感じPowerShellにも育てたい?ツールがあって使っていくモチベーションみたいなもんが湧いてきますな?🤔現状至らないところ多いからなんかコントリビュートしたい。 でもまず時間を作らなあかんな🤔