# Credits to npm's awesome completion utility. # # Bower completion script, based on npm completion script. ###-begin-bower-completion-### # # Installation: bower completion >> ~/.bashrc (or ~/.zshrc) # Or, maybe: bower completion > /usr/local/etc/bash_completion.d/bower # COMP_WORDBREAKS=${COMP_WORDBREAKS/=/} COMP_WORDBREAKS=${COMP_WORDBREAKS/@/} export COMP_WORDBREAKS if type complete &>/dev/null; then _bower_completion () { local si="$IFS" IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \ COMP_LINE="$COMP_LINE" \ COMP_POINT="$COMP_POINT" \ bower completion -- "${COMP_WORDS[@]}" \ 2>/dev/null)) || return $? IFS="$si" } complete -F _bower_completion bower elif type compdef &>/dev/null; then _bower_completion() { si=$IFS compadd -- $(COMP_CWORD=$((CURRENT-1)) \ COMP_LINE=$BUFFER \ COMP_POINT=0 \ bower completion -- "${words[@]}" \ 2>/dev/null) IFS=$si } compdef _bower_completion bower elif type compctl &>/dev/null; then _bower_completion () { local cword line point words si read -Ac words read -cn cword let cword-=1 read -l line read -ln point si="$IFS" IFS=$'\n' reply=($(COMP_CWORD="$cword" \ COMP_LINE="$line" \ COMP_POINT="$point" \ bower completion -- "${words[@]}" \ 2>/dev/null)) || return $? IFS="$si" } compctl -K _bower_completion bower fi ###-end-bower-completion-###