Django

Code

Changeset 4646

Show
Ignore:
Timestamp:
02/28/07 09:39:53 (2 years ago)
Author:
jacob
Message:

Fixed #1240: added better support for different names for "python" to django_bash_completion. Thanks, paolo.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/extras/django_bash_completion

    r4575 r4646  
    3232# To uninstall, just remove the line from your .bash_profile and .bashrc. 
    3333 
     34# Enable extended pattern matching operators. 
     35shopt -s extglob 
     36 
    3437_django_completion() 
    3538{ 
     
    5962          # python manage.py, /some/path/python manage.py (if manage.py exists) 
    6063          ( ${COMP_CWORD} -eq 2 && 
    61             ( $( basename ${COMP_WORDS[0]} ) == python ) && 
     64            ( $( basename ${COMP_WORDS[0]} ) == python?([1-9]\.[0-9]) ) && 
    6265            ( $( basename ${COMP_WORDS[1]} ) == manage.py) && 
     66            ( -r ${COMP_WORDS[1]} ) )  
     67          || 
     68          ( ${COMP_CWORD} -eq 2 && 
     69            ( $( basename ${COMP_WORDS[0]} ) == python?([1-9]\.[0-9]) ) && 
     70            ( $( basename ${COMP_WORDS[1]} ) == django-admin.py) && 
    6371            ( -r ${COMP_WORDS[1]} ) ) ]] ; then 
    6472 
     
    136144 
    137145complete -F _django_completion django-admin.py manage.py 
     146 
     147# Support for multiple interpreters. 
     148unset pythons 
     149if command -v whereis &>/dev/null; then 
     150    python_interpreters=$(whereis -b python | cut -d " " -f 2-)  
     151    for python in $python_interpreters; do 
     152        pythons="${pythons} $(basename $python)" 
     153    done 
     154    pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ") 
     155else 
     156    pythons=python     
     157fi 
     158 
     159complete -F _django_completion -o default $pythons