1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#autoload local targs if [[ "$1" = -C?* ]]; then targs=( -C "${1[3,-1]}" ) shift elif [[ "$1" = -C ]]; then targs=( -C "$2" ) shift 2 else targs=() fi [[ "$1" = -(|-) ]] && shift if [[ $# -gt 1 ]]; then _tags "$targs[@]" "$1" && _description "${(@)argv[2,-1]}" else _tags "$targs[@]" "$1" fi