# shellcheck shell=dash disable=2120

___x_cmd_shortcut_check(){
    [ ! -f "$___X_CMD_SHORTCUT_CONFIG" ] || return 0
    ___X_CMD_SHORTCUT_NOAUTO_COMPILE_ALL=1 ___x_cmd_shortcut_default
}

___x_cmd_shortcut_cat(){
    case "$1" in
        -h|--help) ___x_cmd help -m shortcut cat; return ;;
    esac
    [ -f "$___X_CMD_SHORTCUT_CONFIG" ] || N=shortcut M="Not found config file" log:ret:1
    ___x_cmd_cmds cat "$___X_CMD_SHORTCUT_CONFIG"
}

___x_cmd_shortcut___check_platform(){
    local platform="$1"
    case "$platform" in
        all|linux|darwin|win|sunos|freebsd|openbsd|aix|termux)  return 0 ;;
        *)  shortcut:error "Invalid argument, expected one of [all|linux|darwin|win|sunos|freebsd|openbsd|aix|termux]"
            return 1 ;;
    esac
}

___x_cmd_shortcut___get_platform_(){
    x_=""
    if ! ___x_cmd_is_termux; then
        ___x_cmd os name_
    else
        x_="termux"
    fi
}

___x_cmd_shortcut___check_field_word(){
    local field_word="$1"
    case "$field_word" in
        x|___x_cmd|x-cmd|xrc|xrc:mod|*:info|*:warn|*:error|*:debug)
            shortcut:error "Shortcut '$field_word' is invalid or already in use."; return 1 ;;
        "") shortcut:error "Shortcut word cannot be empty"; return 1 ;;
        *)  return 0 ;;
    esac
}
