Added completetion support for app names to django_base_completion, which closes #1240. Thanks for the patch, Rob Hudson

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4575 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Jacob Kaplan-Moss 2007-02-25 16:33:39 +00:00
parent 3468fd01a9
commit 0a2155e5b3
1 changed files with 22 additions and 4 deletions

View File

@ -79,10 +79,28 @@ _django_completion()
adminindex|install|reset| \ adminindex|install|reset| \
sql|sqlall|sqlclear|sqlindexes| \ sql|sqlall|sqlclear|sqlindexes| \
sqlinitialdata|sqlreset|sqlsequencereset) sqlinitialdata|sqlreset|sqlsequencereset)
# App completion isn't yet implemented, but here's where that # App completion
# would go. settings=""
# COMPREPLY=( $(compgen -W "auth core" -- ${cur}) ) # If settings.py in the PWD, use that
COMPREPLY=() if [ -e settings.py ] ; then
settings="$PWD/settings.py"
else
# Use the ENV variable if it is set
if [ $DJANGO_SETTINGS_MODULE ] ; then
settings=$DJANGO_SETTINGS_MODULE
fi
fi
# Couldn't find settings so return nothing
if [ -z $settings ] ; then
COMPREPLY=()
# Otherwise inspect settings.py file
else
apps=`sed -n "/INSTALLED_APPS = (/,/)/p" $settings | \
grep -v "django.contrib" |
sed -n "s/^[ ]*'\(.*\.\)*\(.*\)'.*$/\2 /pg" | \
tr -d "\n"`
COMPREPLY=( $(compgen -W "${apps}" -- ${cur}) )
fi
return 0 return 0
;; ;;