#compdef zmodload local fl="$words[2]" expl if [[ "$fl" = -*(a*u|u*a)* || "$fl" = -*a* && CURRENT -ge 4 ]]; then _wanted builtins expl 'builtin command' compadd "$@" - "${(k@)builtins}" elif [[ "$fl" = -*u* ]]; then _wanted modules expl module compadd - "${(@k)modules}" else _wanted files expl 'module file' _files -W module_path -/g '*.s[ol](:r)' fi