
___x_cmd_zig_pm_lsv(){
    [ "$#" -gt 0 ] || set -- --help
    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m zig pm lsv "$@";   return ;;
        *)              name="$op"  ;;
    esac
    [ -n "$name" ] || N=zig M="Please provide package name" log:ret:64
    local ___X_CMD_CSV_APP_DATA_name
    local ___X_CMD_CSV_APP_DATA_commit
    local ___X_CMD_CSV_APP_DATA_timestamp
    local url
    local version
    local default_branch
    ___x_cmd_zig_pm_info___json "$name" | {
        x jo env . url=.url default_branch=.default_branch version=.version

        ___X_CMD_CSV_APP_SHBIN_CODE="xrc zig"               \
        ___x_cmd csv app --header name,conmmit,timestamp    \
                         --return var                       \
                         --clear                            \
                        ___x_cmd_zig_pm_lsv___csv "$version"

        [ -n "$___X_CMD_CSV_APP_DATA_name" ] || return 1
        local tag="$___X_CMD_CSV_APP_DATA_name"

        local pkgurl
        if [ "$tag" = "$default_branch" ]; then
            pkgurl="$url/archive/$default_branch.tar.gz"
        else
            pkgurl="$url/archive/refs/tags/$tag.tar.gz"
        fi

        # local pkgurl="$url#$tag"

        local id=
        ___x_cmd ui select id "Next:"               \
            "x zig fetch --save '$pkgurl'"          \
            "Display all versions in YML form"      \
            "EXIT"     || return

        case "$id" in
            1)      zig:info "run command => x zig fetch --save $pkgurl"
                    ___x_cmd_zig___command fetch --save  "$pkgurl"
                    ;;
            2)      printf "%s\n" "$version" | ___x_cmd j2y
                    ;;
            *)      return 0
                    ;;
        esac
    }
}

___x_cmd_zig_pm_lsv___csv(){
    local version="$1"
    printf "%s\n" "$version" | ___x_cmd jo 2c .name .commit .ts
}

