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