Drush shortcuts & autocomplete (for Features and modules)
Put this in your .bash_profile
and smoke it (actually you just save it and reload with source ~/.bash_profile
):
#########################
# Drush shortcuts & autocomplete (for Features and modules)
# Aliases for aliases!
#
# All commands & aliases: drushcommands.com
#########################
alias d="drush" # Save 4 keystrokes, yo!
alias dcca="drush cc all" # Clear all Drupal caches
alias den='drush pm-enable'
alias ddis='drush pm-disable'
alias df='drush features'
alias dfd='drush features-diff'
alias dfl="drush features-list" # List all the available features for your site
alias dfr='drush -y features-revert'
alias dfra='drush -y features-revert all'
alias dfu='drush -y features-update'
alias dst="drush status" # Birds-eye view of current Drupal installation, if any
alias create-admin-acct="drush user-create yourusername --mail=yourusername@domain.com && drush user-add-role administrator --name=yourusername && drush uli --name=yourusername" # Create admin acct (helpful after syncing with a db you don't have access to)
#########################
# The following is slightly modified from:
# Drush-Bash tricks 0.1 (http://nuvole.org/node/26)
# Copyright Nuvole 2010
# License: GPL 3, see http://www.gnu.org/licenses/gpl.html
#########################
_drupal_root() {
# Go up until we find index.php
current_dir=`pwd`;
while [ ${current_dir} != "/" -a -d "${current_dir}" -a \
! -f "${current_dir}/index.php" ] ;
do
current_dir=$(dirname "${current_dir}") ;
done
if [ "$current_dir" == "/" ] ; then
exit 1 ;
else
echo "$current_dir" ;
fi
}
_drupal_modules_in_dir()
{
COMPREPLY=( $( compgen -W '$( command find $1 -regex ".*\.module" -exec basename {} .module \; 2> /dev/null )' -- $cur ) )
}
_drupal_modules()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
local drupal_root=`_drupal_root` && \
_drupal_modules_in_dir "$drupal_root/sites $drupal_root/profiles $drupal_root/modules"
}
_drupal_features_in_dir()
{
COMPREPLY=( $( compgen -W '$( command find $1 -regex ".*\.features.inc" -exec basename {} .features.inc \; 2> /dev/null )' -- $cur ) )
}
_drupal_features()
{
local cur
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
local drupal_root=`_drupal_root` && \
_drupal_features_in_dir "$drupal_root/sites $drupal_root/profiles $drupal_root/modules"
}
# Example usage, revert a feature for project namespaced "foo":
# dfr foo_ # Then press TAB to trigger autocomplete (takes a second to load, be patient)
complete -F _drupal_modules den
complete -F _drupal_modules ddis
complete -F _drupal_features dfd
complete -F _drupal_features dfr
complete -F _drupal_features dfu
Written by Laura Davis-Robeson
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Drush
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#