# shellcheck shell=dash

___x_cmd log init ccal

xrc:mod:lib     ccal   cfg __runcmd util lunar/_index draw fz/_index info sx

___x_cmd_ccal___main(){
    [ "$#" -gt 0 ] ||   set -- fz

    local op="$1";      shift
    case "$op" in
        -h|--help)      ___x_cmd help -m ccal "$@";    return 0 ;;
        init|--init)    ___x_cmd_ccal_init        "$@" ;;
        --cfg|--cur)    ___x_cmd_ccal_"${op#--}"  "$@" ;;
        # app)            ___x_cmd python "$___X_CMD_ROOT_MOD/ccal/lib/app/app.py" ;;

        lunar)
                        ___x_cmd_ccal_"$op"         "$@" ;;

        i|info)         ___x_cmd_ccal_info          "$@" ;;

        s|show|draw)    ___x_cmd_ccal_draw          "$@" ;;

        --|--runmain)   ___x_cmd_ccal_draw          "$@" ;;

        f)              ___x_cmd_ccal_fz            "$@" ;;
        fz|fzd|fzm|fzy|clear)
                        ___x_cmd_ccal_"$op"         "$@" ;;

        --fzypreview|--fzmpreview|--fzdpreview)
                        ___x_cmd_ccal___"${op#--}"  "$@" ;;

        h|holiday)      ___x_cmd_ccal_holiday       "$@" ;;
        update)         ___x_cmd_ccal_lunar_update  "$@" ;;

        t|today)        ___x_cmd_ccal_draw today    "$@" ;;
        */*)            ___x_cmd_ccal_draw "$op"    "$@" ;;
        *)
                        ___x_cmd_ccal info "$op" "$@"
                        ;;
    esac
}

# ___x_cmd_ccal___runmain(){
#     ___x_cmd npx clunarc "$@"
#     # ___x_cmd deno run --allow-env --allow-read npm:clunarc clunarc "$@"
# }

___x_cmd_ccal_clear(){
    ___x_cmd rmrf "$___X_CMD_CCAL_DATA_FILE"
    # TODO: clear ccmd
}
