# Author:       Li Junhao           l@x-cmd.com
# shellcheck    shell=sh            disable=SC3043,SC2164     # xrc

# license:      GPLv3

xrc:mod cp/lib/colon

___x_cmd_cp_pipe(){
    local src;
    while read -r src; do
        if [ -d "$src" ]; then          ___x_cmd_cmds_cp -r "$src" "$1"
        else                            ___x_cmd_cmds_cp "$src" "$1"
        fi
    done
}

___x_cmd_cp(){
    local op="$1"
    case "$op" in
        :*)     shift; ___x_cmd_cp_colon "${op#:}" "$@"; return ;;
        -h|--help)  x help -m cp >&2;  return 1 ;;
    esac

    local lastarg;  eval 'lastarg="$'$#'"'
    ___x_cmd ensurefp "$lastarg"

    case "$#" in
        0)
            printf "%s\n" "TODO: Will Implement Pipe DSL for cp"
            return 1
            ;;
        1)  ___x_cmd_cp_pipe "$@"
            return
            ;;
    esac

    ___x_cmd_cmds_cp "$@"
}


xrc setmain ___x_cmd_cp
