# shellcheck shell=dash
___x_cmd_cleanup___main(){
    local op="$1"; shift
    case "$op" in
        all|toempty|log|tmp|cache|shared|removable)
                    "___x_cmd_cleanup_${op}" "$@" ;;
        --help|-h)  ___x_cmd help -m cleanup ;;
        *)          ___x_cmd help -m cleanup >&2; return 64 ;;
    esac
}

___x_cmd_cleanup_log(){
    ___x_cmd rmrf "$___X_CMD_ROOT_LOG"
}

___x_cmd_cleanup_tmp(){
    ___x_cmd rmrf "$___X_CMD_ROOT_TMP"
}

___x_cmd_cleanup_cache(){
    ___x_cmd rmrf "$___X_CMD_ROOT_CACHE"
}

___x_cmd_cleanup_shared(){
    ___x_cmd rmrf "$___X_CMD_ROOT_SHARED"
}

___x_cmd_cleanup_removable(){
    ___x_cmd rmrf "$___X_CMD_ROOT_LOG" "$___X_CMD_ROOT_TMP" "$___X_CMD_ROOT_CACHE" "$___X_CMD_ROOT_SHARED" "$@"
}

___x_cmd_cleanup_toempty(){
    ___x_cmd_cleanup_removable "$___X_CMD_ROOT_DATA" "$___X_CMD_ROOT_USR" "$___X_CMD_ROOT_ART" "$___X_CMD_ROOT_CFG" "$___X_CMD_ROOT_GCFG" "$@"
}

___x_cmd_cleanup_all(){
    ___x_cmd_cleanup_toempty "$___X_CMD_ROOT/v"
}
