# shellcheck shell=dash disable=SC2034

xrc:mod:lib     cd      relm/init   relm/ls   relm/magic    relm/goto relm/getset

___X_CMD_CD_RELM_0="${___X_CMD_CD_RELM_0:-$PWD}"

# TODO: but wait until cfgy cloud design acomplished.
# x gd -d --set -g cur .
# x gd -d --set --global cur .

# x gd -d --set -c cur .
# x gd -d --set --cloud cur .


___x_cmd_cd_relm(){
    local X_help_cmd="x help -m cd --relm"

    [ "$#" -gt 0 ]  ||      set -- ls
    local op="$1";          shift
    case "$op" in
        ls)                 ___x_cmd_cd_relm___ls ;;

        set|get|rm|init)    ___x_cmd_cd_relm___"${op}"      "$@"        ;;

        cd)                 ___x_cmd_cd_relm___goto         "$@"        ;;

        --help|-h)          help:show:ret:0  ;;
        *)                  ___x_cmd_cd_relm___magic "$op" "$@" ;;
    esac
}

___x_cmd_cd_relm___abs_dir_path(){
    x_=; ___x_cmd_cd_relm___expandtilde_ "$1"
    [ -d "$x_" ] || return $?
    ___x_cmd abspath_ "$x_"
    [ -d "$x_" ] || return $?
}

___x_cmd_cd_relm___expandtilde_(){
    x_="$1"
    case "$1" in
        \~)      x_="$HOME" ;;
        \~/*)    x_="$HOME/${x_#'~/'}"
    esac
}
