yarn completion

This commit is contained in:
Eduardo Bizarro 2016-10-16 23:41:26 -02:00
commit 412f275546
2 changed files with 152 additions and 0 deletions

57
plugins/yarn/_yarn Normal file
View file

@ -0,0 +1,57 @@
# 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-###