# shellcheck shell=dash disable=3028
# rainbow cat

#  seq 10 | x arg1 'x ui sep' | x colr rainbow
___x_cmd_colr_rainbow(){

    local _min=80
    local _max=255
    local _step=10
    local _srand=1;
    local x_=; ___x_cmd term color_
    local _color="$x_"

    while [ "$#" -gt 0 ]; do
        case "$1" in
            --min)      _min="$2"   ; [ -n "$_min" ]    || N=colr M="Please provide min(0-255) values"      log:ret:64; shift 2 ;;
            --max)      _max="$2"   ; [ -n "$_max" ]    || N=colr M="Please provide max(0-255) values"      log:ret:64; shift 2 ;;
            --step)     _step="$2"  ; [ -n "$_step" ]   || N=colr M="Please provide step(0-255) values"     log:ret:64; shift 2 ;;
            --color)    _color="$2" ; [ -n "$_color" ]  || N=colr M="Please provide color[256|true] values" log:ret:64; shift 2 ;;
            --norand)   _srand=""   ; shift ;;
            -h|--help)  x help -m colr rainbow; return ;;
            *)          break ;;
        esac
    done

    case "$_color" in
        256|true)   ;;
        *)          ___x_cmd_cmds_cat
                    return
                    ;;
    esac

    X_TERM_MIN="$_min" \
    X_TERM_MAX="$_max" \
    X_TERM_STEP="$_step" \
    X_TERM_COLORS="$_color" \
    X_TERM_SRAND="${_srand:+"${EPOCHREALTIME:-"$(___x_cmd pidofsubshell)"}"}" \
    ___x_cmd cawk -i \
        -f "$___X_CMD_ROOT_MOD/colr/lib/awk/rainbow.awk" \
        -f "$___X_CMD_ROOT_MOD/colr/lib/awk/rainbow_cat.awk"
}
