#compdef arch-chroot # NOTE: nearly everything here is borrowed from the chroot completion local -a args=( '(-h --help)'{-h,--help}'[display help]' '-N[Run in unshare mode as a regular user]' '-u[The non-root user and optional group to use]: :->userspecs' '-r[Do not change the resolv.conf within the chroot]' '1:new root directory:_directories' '*:::command:_normal' ) local ret=1 _arguments $args && ret=0 # @todo user:group specs are probably used often enough to justify making a type # function for this (see also `chown`, `cpio`, `rsync`, ...) [[ $state == userspecs ]] && if compset -P '*:*:'; then ret=1 elif compset -P '*:'; then _groups && ret=0 elif compset -S ':*'; then _users && ret=0 else _users -qS : && ret=0 fi return ret