percolとskype_chatを連携させる

mooz/percol · GitHub

シェルでanything.elやunite.vimのような絞り込み検索を使うのに、今までzawを使ってきたけど、最近はpercolを使っている人を見る。気になるのでpercolを使ってみることにした。

percolについてはターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;の記事が詳しい。

percolの最大の特徴だと思う点は、zshに依存せず、標準入力を絞り込んで標準出力に吐くだけという仕事にのみ特化しているところ。モジュール性が高く取り回しやすい。一つのことをうまくやる、美しいソフトウェアだ。

skype_chatと連携させる

前にSkypeをCLIから操作するskype_chatというものを作った。tmuxと組み合わせて、いくつかある会話部屋の内容を一覧できるので今もずっと使っている。

会話を読むときには

$ sky list # 部屋名とハッシュ化された値を表示
$ sky stream 部屋名がハッシュ化された値 # 会話を表示

という2段階の動作が必要で、listで表示された値を覚えておいて、sky stream e428のように指定して会話を見ている。gitでハッシュ値の前の方だけ指定しておけば、後ろは省略可能な様に、skyコマンドでも省略できる。しかし、意味のない英数字の羅列を覚えておくのは人間のすることではない。

今回はpercolを使って、以下の様に読みたい部屋の絞り込みを実現する。

$ sky list | percol | cut -f1 -d' ' |  xargs sky stream

sky listコマンドではエスケープシーケンスを使った色付け表示をしていて、percolではエスケープされずにそのまま表示されるから、色付けしないモード(list_no_color)を作ってとりあえず対処した。

これをzshのaliasとかに登録しておけば良い。簡単便利!