mirror of
https://github.com/ohmybash/oh-my-bash.git
synced 2024-05-11 05:55:37 +00:00
38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
#! bash oh-my-bash.module
|
|
#
|
|
# bash completion support for Drush:
|
|
# https://github.com/drush-ops/drush
|
|
#
|
|
# Originally from:
|
|
# http://github.com/drush-ops/drush/blob/master/drush.complete.sh
|
|
|
|
# Ensure drush is available.
|
|
which drush &> /dev/null || alias drush &> /dev/null || return
|
|
|
|
__drush_ps1() {
|
|
f="${TMPDIR:-/tmp/}/drush-env/drush-drupal-site-$$"
|
|
if [ -f $f ]
|
|
then
|
|
__DRUPAL_SITE=$(cat "$f")
|
|
else
|
|
__DRUPAL_SITE="$DRUPAL_SITE"
|
|
fi
|
|
|
|
[[ -n "$__DRUPAL_SITE" ]] && printf "${1:- (%s)}" "$__DRUPAL_SITE"
|
|
}
|
|
|
|
# Completion function, uses the "drush complete" command to retrieve
|
|
# completions for a specific command line COMP_WORDS.
|
|
_drush_completion() {
|
|
# Set IFS to newline (locally), since we only use newline separators, and
|
|
# need to retain spaces (or not) after completions.
|
|
local IFS=$'\n'
|
|
# The '< /dev/null' is a work around for a bug in php libedit stdin handling.
|
|
# Note that libedit in place of libreadline in some distributions. See:
|
|
# https://bugs.launchpad.net/ubuntu/+source/php5/+bug/322214
|
|
COMPREPLY=( $(drush --early=includes/complete.inc "${COMP_WORDS[@]}" < /dev/null 2> /dev/null) )
|
|
}
|
|
|
|
# Register our completion function. We include common short aliases for Drush.
|
|
complete -o bashdefault -o default -o nospace -F _drush_completion d dr drush drush5 drush6 drush6 drush.php
|