1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
#autoload local targs gopt=-J if [[ "$1" = -C?* ]]; then targs=( -C "${1[3,-1]}" ) shift elif [[ "$1" = -C ]]; then targs=( -C "$2" ) shift 2 else targs=() fi if [[ "$1" = -([12]|)[VJ] ]]; then gopt="$1" shift fi _tags "$targs[@]" "$1" while _tags; do _all_labels "$gopt" "$@" && return 0 done return 1