#compdef basename gbasename local args variant _pick_variant -r variant gnu=GNU $OSTYPE --version case $variant in gnu) args=( -s -S -A "-*" '(2 -a --multiple)'{-a,--multiple}'[support multiple arguments, handling each]' '(2 -a --multiple -s --suffix)'{-s+,--suffix=}'[remove a trailing suffix]:suffix' '(-z --zero)'{-z,--zero}'[separate output with NUL rather than newline]' '(- *)--version[display version information]' '(- *)--help[display help information]' ) ;; darwin*|dragonfly*|freebsd*) args=( -s -S -A "-*" '(2)-a[support multiple arguments, handling each]' '(-a 2)-s+[remove a trailing suffix]:suffix' ) ;; esac _arguments $args \ '1:file:_files' \ '(*)2:suffix' \ '*:file:_files'