#compdef auto-apt
local expl prev="$words[CURRENT-1]"
# if there is a command in arguments ?
if [[ -n $words[(r)(run|update|update-local|merge|del|check|list|search|debuilt|status)] ]] ; then
# yes, add completion for command arguments and command options
if [[ -n $words[(r)(update|update-local|merge)] && "$words[CURRENT]" = -* ]] ; then
_wanted option expl 'option' compadd - "-a" && return;
fi
if [[ -n $words[(r)(check|list|search)] && "$words[CURRENT]" = -* ]] ; then
_wanted option expl 'option' compadd - "-v" "-f" && return;
fi
case $prev in
run) _wanted command expl 'command' _files -g '*(/,*)' && return ;;
del) _wanted package expl 'package' _deb_packages avail && return ;;
esac
else
_arguments \
'-a:distribution:_values -s , distribution main contrib non-free non-US none' \
'-p:hook:_values -s , hook exec open access stat none' \
'-D:dbfile:_files' \
'-F:filedb:_files' \
-h -s -y -q -i -X -x -L \
'*:command:(run update update-local merge del check list search debuild status)' && return
fi
return 1
Copyright 2K16 - 2K18 Indonesian Hacker Rulez