# shellcheck shell=dash

___x_cmd log init ccal

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

___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" ;;

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

        lunar|info|ls|draw|holiday|\
        fz|fzd|fzm|fzy|around|clear|tiaoxiu)
                            ___x_cmd_ccal_"$op"         "$@" ;;

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

        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(){
    ccal:info "Removing data file in $___X_CMD_CCAL_DATA_FILE"
    ___x_cmd rmrf "$___X_CMD_CCAL_DATA_FILE"

    # TODO: clear ccmd
}
