pecoには、表示結果をCtrl+Spaceで複数選択できるという機能があります。
複数のリポジトリを一気にブラウザで参照したい時に不便だったので例によってnyagosのaliasでつくりました。
alias {
phq = function (arg)
local arg = string.format("%s", arg[1])
local str = nyagos.eval("ghq list -p | peco")
if (str ~= nil ) then
if arg == "open" then
for line in string.gmatch(str, '[%a|%p]+[\n]*') do
nyagos.exec("gh-open "..'"'..chomp(line)..'"')
end
else
nyagos.exec("cd ".. '"' ..chomp(str).. '"')
end
end
end
}
function chomp(src)
return string.gsub(src, "[\r\n]+$", "")
end
使い方
nyagos.dにphq.luaを放り込むか、.nyagosに記述します。
C:>phq
ghq getしてきたローカルリポジトリの一覧を表示します。
C:>phq open
gh-openを繰り返し行うので、ctrl+spaceで複数行を渡しても開いてくれます。