
xrc:mod:lib     home        obj/cpmv    obj/backup  obj/info




___x_cmd_home_obj(){
    [ $# -gt 0 ]    || set -- --help

    ___x_cmd_home_obj___prepare

    local op="$1";  shift
    case "$op" in
        info|ls|\
        cp|mv|backup|restore|rsync|\
        which|which_)
            ___x_cmd_home_obj_"$op"     "$@" ;;
        -h|--help)
            ___x_cmd help -m home obj   "$@" ;;
    esac
}

___x_cmd_home_obj___prepare(){
    if [ -z "$___X_CMD_HOME_CURRENT_OBJ" ]; then
        ___X_CMD_HOME_CURRENT_OBJ="${HOME}"
        [ -d "$HOME" ] || {
            home:warn "Expected to be a folder -> $HOME"
        }
    else
        case "$___X_CMD_HOME_CURRENT_OBJ" in
            /*)     ;;
            *)      ___X_CMD_HOME_CURRENT_OBJ="$___X_CMD_HOME_DATA_ROOTFP/$___X_CMD_HOME_CURRENT_OBJ" ;;
        esac

        ___x_cmd mkdirp "$___X_CMD_HOME_CURRENT_OBJ"
    fi
}

___x_cmd_home_obj_which(){
    printf "%s\n" "$___X_CMD_HOME_CURRENT_OBJ"
}

___x_cmd_home_obj_which_(){
    x_="$___X_CMD_HOME_CURRENT_OBJ"
}

___x_cmd_home_cd(){
    ___x_cmd cd "$___X_CMD_HOME_CURRENT_OBJ" -- "$@"
}

