# shellcheck shell=dash

___x_cmd_luarocks_open(){
    [ $# -gt 0 ]    ||      set - --nv
    local op="$1";          shift
    case "$op" in
        --nv)               ___x_cmd_luarocks_open___nv "$@" ;;
        --gh)               ___x_cmd_luarocks_open___gh ;;
        --home)             ___x_cmd_luarocks_open___home ;;
        --search)           ___x_cmd_luarocks_open___search "$1" ;;
        *)                  ___x_cmd_luarocks_open___search "$op" ;;
    esac
}

___x_cmd_luarocks_open___nv(){
    local id=; local cmd=
    ___x_cmd ui select id,cmd "What's next"    \
        "x lua rock open --gh"      \
        "x lua rock open --home"    \
        "x lua rock open --search"  \
        "return 1" || return 1
    eval "$cmd"
}

___x_cmd_luarocks_open___gh(){
    ___x_cmd open "https://github.com/luarocks/luarocks"
}

___x_cmd_luarocks_open___home(){
    ___x_cmd open https://luarocks.org
}

___x_cmd_luarocks_open___search(){
    if [ -z "$1" ]; then
        ___x_cmd open https://luarocks.org/search
    else
        ___x_cmd open https://luarocks.org/search?q="$1"
    fi
}
