# shellcheck shell=dash

x log init raku

xrc:mod:lib     raku        __setarg_ enginerun load subcmd co

# Parsing the argument ...
___x_cmd_raku___main(){
    [ "$#" -gt 0 ] || {
        ___x_cmd_raku___cmd raku
        return
    }

    local op="$1"; shift
    case "$op" in
        load)           ___x_cmd_raku_load "$@" ;;
        loaded)         ___x_cmd_raku_loaded ;;

        ,|，|--co)      ___x_cmd_raku_co   "$@" ;;
        ,,|，，|--coco) ___x_cmd_raku_coco "$@" ;;

        "$___X_CMD_ENGINE_SUBCMD_NAME")
                        ___x_cmd_raku___enginerun "$@" ;;
        *)              ___x_cmd_raku___enginerun "$op" "$@" ;;
    esac
}

___x_cmd_raku___cmd(){
    if ___x_cmd_hasbin "$1"; then
        "$@"
        return
    fi

    ___x_cmd_raku_load_env || return
    local bin="$1"; shift
    "$___X_CMD_RAKU_SHIMAPP_PATH/$bin" "$@"
}
