
___x_cmd_go_star_lsv(){
    [ "$#" -gt 0 ] || set -- --help
    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m go star lsv "$@";   return ;;
        *)              name="$op"  ;;
    esac
    [ -n "$name" ] || N=go M="Please provide package name" log:ret:64
    local ___X_CMD_CSV_APP_DATA_name
    local url
    local version
    ___x_cmd_go_star_info___json "$name" | {
        ___x_cmd jo env . url=.url version=.version

        ___X_CMD_CSV_APP_SHBIN_CODE="xrc go"               \
        ___x_cmd csv app --header name                      \
                         --return var                       \
                         --clear                            \
                        ___x_cmd_go_star_lsv___csv "$version"

        [ -n "$___X_CMD_CSV_APP_DATA_name" ] || return 1
        local tag="$___X_CMD_CSV_APP_DATA_name"
        local pkgurl="${url#http*//}@${tag}"

        # local pkgurl="$url#$tag"

        local id=
        ___x_cmd ui select id "Next:"               \
            "x go get  '$pkgurl'"                   \
            "Display all versions in YML form"      \
            "EXIT"     || return $?

        case "$id" in
            1)      go:info "run command => x go get $pkgurl"
                    ___x_cmd_go___runmain get "$pkgurl"
                    ;;
            2)      printf "%s\n" "$version" | ___x_cmd j2y
                    ;;
            *)      return 0
                    ;;
        esac
    }
}

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

