# Credits to bower's awesome completion utility. # # yarn completion script, based on bower completion script. ###-begin-yarn-completion-### # # Installation: yarn completion >> ~/.bashrc (or ~/.zshrc) # Or, maybe: yarn completion > /usr/local/etc/bash_completion.d/yarn # COMP_WORDBREAKS=${COMP_WORDBREAKS/=/} COMP_WORDBREAKS=${COMP_WORDBREAKS/@/} export COMP_WORDBREAKS if type complete &>/dev/null; then _yarn_completion () { local si="$IFS" IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \ COMP_LINE="$COMP_LINE" \ COMP_POINT="$COMP_POINT" \ yarn completion -- "${COMP_WORDS[@]}" \ 2>/dev/null)) || return $? IFS="$si" } complete -F _yarn_completion yarn --help elif type compdef &>/dev/null; then _yarn_completion() { si=$IFS compadd -- $(COMP_CWORD=$((CURRENT-1)) \ COMP_LINE=$BUFFER \ COMP_POINT=0 \ yarn completion -- "${words[@]}" \ 2>/dev/null) IFS=$si } compdef _yarn_completion yarn --help elif type compctl &>/dev/null; then _yarn_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" \ yarn completion -- "${words[@]}" \ 2>/dev/null)) || return $? IFS="$si" } compctl -K _yarn_completion yarn --help fi ###-end-yarn-completion-###