# shellcheck shell=sh disable=SC2039,SC3043,SC2120,SC2154
# reference:   https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN#8b0f2a1b

xrc param http ui
___x_cmd log init feishu
xrc:mod:lib  feishu      util type bot cfg

___x_cmd_feishu___main(){
    arg:init feishu
    local ___X_CMD_FEISHU_LOCAL_CONFIG="${___X_CMD_FEISHU_LOCAL_CONFIG}"
    local ___X_CMD_FEISHU_LOCAL_PROFILE="${___X_CMD_FEISHU_LOCAL_PROFILE}"

    while [ $# -gt 0 ]; do
        case "${1}" in
            --config)       ___X_CMD_FEISHU_LOCAL_CONFIG="$2";        arg:2:shift ;;
            @*)             ___X_CMD_FEISHU_LOCAL_CONFIG="${1#@}";    shift       ;;
            --profile)      ___X_CMD_FEISHU_LOCAL_PROFILE="$2";       arg:2:shift ;;
            :*)             ___X_CMD_FEISHU_LOCAL_PROFILE="${1#:}";   shift       ;;
            *)              break;;
        esac
    done

    param:advise feishu
    param:subcmd ___x_cmd_feishu                              \
        bot             "feishu bot"                          \
        --cfg           "manage configuration for feishu"     \
        --cur           "current configuration for feishu"    \
        init            "Interactive UI init configuration"

    param:subcmd:try

    param:subcmd ___x_cmd_feishu_bot    \
        send            "send msg"
    param:subcmd:try

    param:run
    if [ "$#" -eq 0 ]; then
        ___x_cmd_feishu --help
    else
        ___x_cmd_feishu bot send "$@"
    fi
    return
}

___x_cmd_feishu_help(){
    ___x_cmd help -m feishu "$@" >&2
}
