# shellcheck shell=dash
___x_cmd_cfgy_inner_rm(){
    [ "$#" -eq 3 ] || {
        cfgy:error "Provide prefix, file path and profile name"
        return 64
    }

    local prefix="$1"
    local profile="$2"
    local fp="$3"
    [ -f "$fp" ] || N=cfgy M="Not found config file" log:ret:64

    local data; data="$(
        <"$fp" ___x_cmd_cfgy___yml2json_and_tokenize | (
        rm_profile_name="$profile" ___x_cmd_cmds_awk  \
            -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk"        \
            -f "$___X_CMD_ROOT_MOD/awk/lib/sh.awk"          \
            -f "$___X_CMD_ROOT_MOD/awk/lib/j/json.awk"      \
            -f "$___X_CMD_ROOT_MOD/awk/lib/j/jiter.awk"     \
            -f "$___X_CMD_ROOT_MOD/cfgy/lib/awk/rm.awk"
    ))" || {
        cfgy:error "Profile=${profile} unfound. Fail to rm it in config=$fp"
        return 1
    }

    printf "%s\n" "$data" | ___x_cmd_cfgy___json2yml >"$fp"

    if ___x_cmd_cfgy_inner_isloaded "$prefix"; then
        local ___X_CMD_CFGY_OBJ_PREFIX="$prefix"
        ___x_cmd_cfgy_obj_reload "$fp"
    fi
}
