diff --git a/clean_files.txt b/clean_files.txt index 3976ce4b..73407968 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -66,6 +66,7 @@ completion/available/cargo.completion.bash completion/available/composer.completion.bash completion/available/conda.completion.bash completion/available/consul.completion.bash +completion/available/django.completion.bash completion/available/docker.completion.bash completion/available/docker-machine.completion.bash completion/available/gcloud.completion.bash diff --git a/completion/available/django.completion.bash b/completion/available/django.completion.bash index cfd1ae9c..83debfd6 100644 --- a/completion/available/django.completion.bash +++ b/completion/available/django.completion.bash @@ -1,101 +1,4 @@ -# ######################################################################### -# This bash script adds tab-completion feature to django-admin.py and -# manage.py. -# -# Testing it out without installing -# ================================= -# -# To test out the completion without "installing" this, just run this file -# directly, like so: -# -# . ~/path/to/django_bash_completion -# -# Note: There's a dot ('.') at the beginning of that command. -# -# After you do that, tab completion will immediately be made available in your -# current Bash shell. But it won't be available next time you log in. -# -# Installing -# ========== -# -# To install this, point to this file from your .bash_profile, like so: -# -# . ~/path/to/django_bash_completion -# -# Do the same in your .bashrc if .bashrc doesn't invoke .bash_profile. -# -# Settings will take effect the next time you log in. -# -# Uninstalling -# ============ -# -# To uninstall, just remove the line from your .bash_profile and .bashrc. -# -# This file is licensed under the following license: -# Copyright (c) Django Software Foundation and individual contributors. -# All rights reserved. - -# Redistribution and use in source and binary forms, with or without modification, -# are permitted provided that the following conditions are met: - -# 1. Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. - -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. - -# 3. Neither the name of Django nor the names of its contributors may be used -# to endorse or promote products derived from this software without -# specific prior written permission. - -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -_django_completion() -{ - COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \ - COMP_CWORD=$COMP_CWORD \ - DJANGO_AUTO_COMPLETE=1 $1 ) ) -} -complete -F _django_completion -o default django-admin.py manage.py django-admin - -_python_django_completion() -{ - if [[ ${COMP_CWORD} -ge 2 ]]; then - PYTHON_EXE=$( basename -- ${COMP_WORDS[0]} ) - echo $PYTHON_EXE | egrep "python([2-9]\.[0-9])?" >/dev/null 2>&1 - if [[ $? == 0 ]]; then - PYTHON_SCRIPT=$( basename -- ${COMP_WORDS[1]} ) - echo $PYTHON_SCRIPT | egrep "manage\.py|django-admin(\.py)?" >/dev/null 2>&1 - if [[ $? == 0 ]]; then - COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]:1}" \ - COMP_CWORD=$(( COMP_CWORD-1 )) \ - DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) ) - fi - fi - fi -} - -# Support for multiple interpreters. -unset pythons -if command -v whereis &>/dev/null; then - python_interpreters=$(whereis python | cut -d " " -f 2-) - for python in $python_interpreters; do - pythons="${pythons} $(basename -- $python)" - done - pythons=$(echo $pythons | tr " " "\n" | sort -u | tr "\n" " ") -else - pythons=python -fi - -complete -F _python_django_completion -o default $pythons +# shellcheck shell=bash +about-completion "django completion" +# shellcheck disable=SC1090 +source "${BASH_IT}"/vendor/github.com/django/django/extras/django_bash_completion