# shellcheck shell=dash

x log init ccmd

xrc:mod:lib ccmd    convert exec util help v1/_index

___X_CMD_CCMD_CACHEPATH_DEFAULT="${___X_CMD_CCMD_CACHE:-"${___X_CMD_ROOT_TMP}/ccmd/DEFAULT"}"

___x_cmd_ccmd___main(){
    [ "$#" -gt 0 ] || {
        M="ccmd" help:ret:1
    }

    local op="${1}";            shift
    case "$op" in
        v1)                    ___x_cmd_ccmd_v1                 "$@" ;;

        exec)                   ___x_cmd_ccmd_exec              "$@" ;;
        clear)                  ___x_cmd_ccmd_clear             "$@" ;;
        which)                  ___x_cmd_ccmd_which             "$@" ;;
        invalidate|-)           ___x_cmd_ccmd_invalidate        "$@" ;;

        setup)                  ___x_cmd_ccmd_setup             "$@" ;;
        teardown)               ___x_cmd_ccmd_teardown          "$@" ;;

        _x_cmd_advise_json)     ___x_cmd_ccmd_x_cmd_advise_json "$@" ;;

        # age)                    ___x_cmd_ccmd_age               "$@" ;;
        # age_)                   ___x_cmd_ccmd_age_              "$@" ;;

        is-result-from-cache)   ___x_cmd_ccmd_isresultfromcache "$@" ;;

        --convert)              ___x_cmd_ccmd___convert         "$@" ;;
        --exec)                 ___x_cmd_ccmd_exec              "$@" ;;

        ""|-h|--help)           M="ccmd"                  help:ret:0 ;;

        *)                      ___x_cmd_ccmd_exec      "$op"   "$@" ;;
    esac
}
