Parancssori kiegészítés rakehez
2008-05-22 04:17 | kommentek
Az egyre növekvő rake task lista sokszor gondot okoz, ha valamilyen feladatnak nem tudjuk a pontos nevét. Ilyenkor segíthet a parancssori kiegészítés (a.k.a. bash completion). Ehhez fel kell rakni a bash-completion csomagot, aminek a mikéntjébe itt nem megyek bele.
Legszebb a dologban, hogy saját kiegészítési stratégiákat is írhatunk tetszőleges programhoz. A fent említett rake szituációhoz írtam az alábbi kiegészítőt:
_rake()
{
COMP_WORDBREAKS=${COMP_WORDBREAKS//:}
local curw
COMPREPLY=()
curw=${COMP_WORDS[COMP_CWORD]}
local tasks="$(rake -T 2>/dev/null | cut -d\ -f2)"
COMPREPLY=($(compgen -W '$tasks' -- $curw));
return 0
}
complete -F _rake rake
complete -F _rake jrake
Ezt így ahogy van hozzá kell vágni a .bashrc fájlunk végére, terminál újra megnyit, és innentől kezdve ha beírjuk például, hogy rake db: és TAB-ot nyomunk, már látjuk is, hogy milyen lehetőségeink vannak.
Bónusz tipp: hasonló elven működős gem könyvtárt Textmateben megnyitós.



