| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
# 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_WORDBREAKSif 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 bowerelif 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 bowerelif 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 bowerfi###-end-bower-completion-###
 |