OKUMA SÜRESİ 01:31

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!

Faydalı Linkler