# shellcheck shell=dash

xrc:mod:lib os              \
    import osarch release   \
    loadavg airport uptime  \
    utils hostname pkgadd   __app

___x_cmd_os___main(){

    [ "$#" -gt 0 ] ||           set -- --app

    local subcmd="${1}";        shift
    case "$subcmd" in
        is)                     ___x_cmd_os_is              "$@"    ;;
        uname_)                 ___x_cmd_os_uname_          "$@"    ;;
        name_)                  ___x_cmd_os_name_           "$@"    ;;
        getname_)               ___x_cmd_os_getname_        "$@"    ;;

        arch_)                  ___x_cmd_os_arch_           "$@"    ;;
        getarch_)               ___x_cmd_os_getarch_        "$@"    ;;

        uptime_)                ___x_cmd_os_uptime_         "$@"    ;;

        uname)                  ___x_cmd_os_uname           "$@"    ;;
        name)                   ___x_cmd_os_name            "$@"    ;;
        arch)                   ___x_cmd_os_arch            "$@"    ;;
        uptime)                 ___x_cmd_os_uptime          "$@"    ;;


        hostname|hostname_)     ___x_cmd_os_"$subcmd"       "$@"    ;;

        release)                ___x_cmd_os_release         "$@"    ;;
        rname)                  ___x_cmd_os_release_name    "$@"    ;;

        path)                   ___x_cmd path               "$@"    ;;

        # Detect cc environment
        # Detect cc

        lsuname)                ___x_cmd_os_lsuname         "$@"    ;;
        lsname)                 ___x_cmd_os_lsname          "$@"    ;;
        lsarch)                 ___x_cmd_os_lsarch          "$@"    ;;
        ls)                     "___x_cmd_os_ls_$1"                 ;;

        loadavg)                ___x_cmd_os_loadavg         "$@"    ;;
        endiness)               ___x_cmd_os_endiness        "$@"    ;;

        help|--help|-h|"")      ___x_cmd_os_help ;;
        # _x_cmd_advise_json)     ___x_cmd_cmds_cat "${___X_CMD_ROOT_MOD}/os/lib/os.advise.json" ;;

        pkgadd)                 ___x_cmd_os_pkgadd          "$@"    ;;

        --app)                  ___x_cmd_os___app           "$@"    ;;

        *)                      ___x_cmd_os_other "$@"
    esac
}

___x_cmd_os_other(){
    case "$subcmd" in
        airport)        ___x_cmd_os_airport "$@" ;;
        *)              ___x_cmd_os_help    "$@" ;;
    esac
}

___x_cmd_os_import ls

___x_cmd_os_help(){
    ___x_cmd help -m os >&2
    return 1
}

