# bash programmable completion for netpkg by # Pedro Pinto (pnboy~AT~pinguix.com) # complete_netpkg() { cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$prev" == "list" ]]; then COMPREPLY=( $( compgen -W 'I U D N' -- $cur ) ) else if [ -f /var/netpkg/PACKAGES.TXT ]; then if [[ "$prev" == "install" ]]; then local arg=$( cat /var/netpkg/PACKAGES.TXT 2> /dev/null | grep 'PACKAGE NAME' | cut -d " " -f4) else local arg=$( cat /var/netpkg/PACKAGES.TXT 2> /dev/null | grep 'PACKAGE NAME' | cut -d " " -f4 | sed -e 's/-[^-]*-[^-]*-[^-]*$//' ) fi else arg="" fi arg=$arg" upgrade download dotnew mirror list install" COMPREPLY=( $( compgen -W "${arg}" -- $cur ) ) fi } complete -F complete_netpkg -o default netpkg