#compdef freebsd-update
local flags
flags=(
'(cron)fetch[fetch a compressed snapshot or update existing one]'
'(fetch)cron[sleep rand(3600) seconds, and then fetch updates]'
'(install rollback)upgrade[fetch files necessary for upgrading to a new release]'
'(upgrade rollback)install[install the most recently fetched updates or upgrade]'
'(upgrade install)rollback[uninstall the most recently installed updates]'
)
_arguments -s \
'-b[operate on a system mounted at basedir]:basedir:_files -/' \
'-d[store working files in workdir]:workdir:_files -/' \
'-f[read configuration options from conffile]:conf file:_files' \
'-k[trust an RSA key with SHA256 of KEY]:RSA key:' \
'-r[specify the new release]:new release:' \
'-s[fetch files from the specified server or server pool]:server:_hosts' \
'-f[mail output of cron command, if any, to address]:address:' \
':command:_values -S " " -w "commands" $flags[@]'
Copyright 2K16 - 2K18 Indonesian Hacker Rulez