コード

 1 alias {
 2   pgi = function ()
 3     local str = nyagos.eval("gibo -l | peco")
 4     local val
 5     if str then
 6       val = errCheck(toSpace(str))
 7     end
 8     if val then
 9       nyagos.exec("gibo "..toSpace(str).." > .gitignore")
10       print("gibo make .gitignore of '"..val.."' .")
11     else
12       print("gibo fail make .gitignore .")
13     end
14   end
15 }
16 function toSpace(str)
17   return string.gsub(str, '[\n|\r\n]', ' ')
18 end
19 function errCheck(str)
20   if string.find(str, '[===]') then
21     return nil
22   elseif str == '' then -- escape key 対策
23     return nil
24   else
25     return str
26   end
27 end

使い方

C:> pgi

pecoでgibo -lが選択できるようになるので、ignoreしたいものを選択する。 pecoは機能的にCtrl+Spaceで複数検索ができるのでそれにも対応している。 便利な世の中になったものです。