Django için bash completion
Az önce başardığım, aslında çok bilindiğini düşündüğüm fakat etrafımdaki Django’cu kardeşimlerimden duymadığım bir özellikten bahsetmek istiyorum!
Birkaç gün önce, Ubuntu’dan öğrendiğim bash-completion olayının mac os’daki yansımasını yazmıştım. İşin içine biraz daha girince gördüm ki, pek çok şey için kendimiz de auto-complete yapabiliriz.
Zaten ilk hissettiğim tamamlamaların başında port
komutu ve svn
komutu
geldi… O an kafamda bir ampül yandı ve:
Kesin bunun bi yolu vardır, ben de kendi tamamlamalarımı yapabilmeliyim!
diye düşünüp daldım google’a… Karşıma süper dökümanlar çıktı ve booom!
Hemen bu tamamlama işini django-admin.py
ve manage.py
için yapabilmem
lazım! dedim. Sonra bi baktım zaten django için çoktan yapılmışı varmış.
Django paketini indirince, extras/
folder’ı içinde gereken
file var! Hatta;
complete -p
yaparsanız completion işleminin nasıl çalıştığını da anlarsınız. Sizin için hazır gelen komutların listesini de;
ls /opt/local/etc/bash_completion.d/
şeklinde görebilirsiniz. Bende;
_subversion
apache2ctl
bitkeeper
bittorrent
brctl
cksfv
clisp
cowsay
cpan2dist
dsniff
freeciv
gcl
gkrellm
gnatmake
gpg2
harbour
isql
larch
lilypond
lisp
lzma
lzop
mailman
mcrypt
minicom
modules
monodevelop
mtx
net-tools
p4
port
povray
qdbus
qemu
quota-tools
rdesktop
ri
sbcl
sitecopy
snownews
ssh
svk
unace
unrar
vncviewer
şeklinde. Keza bu dosyaları açıp bakarsanız olayın ne kadar da kolay olduğunu görürsünüz.
Şimdi Django sitesine gidip, son versiyon .tar.gz
dosyayı çekin
(hatta belki de çoktan çektiniz ve install bile ettiniz!) Eğer hazırda
yoksa;
tar xzvf Django-1.1.tar.gz
ile paketi açın ve extras/
dizinin içinde bulunan django_bash_completion
dosyasını sudo ile /opt/local/etc/
altına kopyalayın ve sonra tek yapmanız
gereken, ~/.profile
dosyasına şunu ekleyin;
if [ -f /opt/local/etc/django_bash_completion ]; then
. /opt/local/etc/django_bash_completion
fi
Terminali açıp kapayın ya da;
source ~/.profile
yaparak restart edin shell’i… Afiyet olsun!