2 ###-begin-npm-completion-###
4 # npm command completion script
6 # Installation: npm completion >> ~/.bashrc (or ~/.zshrc)
7 # Or, maybe: npm completion > /usr/local/etc/bash_completion.d/npm
10 if type complete &>/dev/null; then
13 if type _get_comp_words_by_ref &>/dev/null; then
14 _get_comp_words_by_ref -n = -n @ -w words -i cword
17 words=("${COMP_WORDS[@]}")
21 IFS=$'\n' COMPREPLY=($(COMP_CWORD="$cword" \
22 COMP_LINE="$COMP_LINE" \
23 COMP_POINT="$COMP_POINT" \
24 npm completion -- "${words[@]}" \
25 2>/dev/null)) || return $?
28 complete -o default -F _npm_completion npm
29 elif type compdef &>/dev/null; then
32 compadd -- $(COMP_CWORD=$((CURRENT-1)) \
35 npm completion -- "${words[@]}" \
39 compdef _npm_completion npm
40 elif type compctl &>/dev/null; then
42 local cword line point words si
49 IFS=$'\n' reply=($(COMP_CWORD="$cword" \
52 npm completion -- "${words[@]}" \
53 2>/dev/null)) || return $?
56 compctl -K _npm_completion npm
58 ###-end-npm-completion-###