peco — 選択肢にないクエリ入力をしたときに文字が消える対策 ( --print-query )


v0.5.3 からオプションが追加されている

New --print-query option prints out the query upon successful exit

使い方に癖がありそうなので注意。(後述)

動作

選択肢に A B C があり、 D をユーザー入力して完了した場合

--print-query がないとき

入力したDが消える

$ echo "A\nB\nC" | peco --query=D
$

--print-query があるとき

入力したDが消えない

$ echo "A\nB\nC" | peco --query=D --print-query
D

注意

--print-query を付けて、なおかつ選択肢の中から選んだ場合、クエリと選択されたテキスト両方が、二行に分かれて出力されるようだ。

( peco version v0.5.3 (built with go1.10) )

echo "Alice\nBob\nCarol" | peco --print-query --query=B
B
Bob

決定内容だけを得たい場合は、最後の行だけを見るなどして対策する必要がありそう。

選択肢の中から選んだ場合は、その内容を出力

echo "Alice\nBob\nCarol" | peco --print-query --query=B | tail -n 1
Bob

空振りしたクエリ入力の場合は、クエリを出力

echo "Alice\nBob\nCarol" | peco --print-query --query=David | tail -n 1
David

Versions

  • peco version v0.5.3 (built with go1.10)