#compdef zmodload

local fl="$words[2]"

if [[ "$fl" = -*(a*u|u*a)* || "$fl" = -*a* && CURRENT -ge 4 ]]; then
  compgen -B
elif [[ "$fl" = -*u* ]]; then
  compadd - $(zmodload)
else
  compadd - ${^module_path}/*(N:t:r)
fi
