
# MACOS -- opendirectory --
# Require sudo
# /private/var/db/dslocal/nodes/Default/users/

___x_cmd_user_group(){
    [ $# -gt 0 ]    ||  set -- --app

    local op="$1";      shift
    case "$op" in
        --app|--csv|--tsv|--raw)
                        "___x_cmd_user_group___${op#--}" "$@" ;;
        --help|-h)      ___x_cmd help -m user passwd ;;
    esac
}

___x_cmd_user_group___tsv(){
    ___x_cmd_cmds_awk -F: '
    $0 ~ /^[\s]*#/ {
        next
    }

    BEGIN{
        fmt = "%s\t%s\t%s\t%s\n"
        printf(fmt,     "name", "passwd", "gid", "member")
    }

    {
        name    = $1
        passwd  = $2
        gid     = $3
        member  = $4

        printf(fmt,     name, passwd, gid, member)
    }' /etc/group

}

___x_cmd_user_group___csv(){
    ___x_cmd_user_group___tsv | ___x_cmd tsv tocsv

}

___x_cmd_user_group___raw(){
    ___x_cmd_cmds cat /etc/group
}

___x_cmd_user_group___app(){
    if ___x_cmd_runmode_allow_manual; then
        ___x_cmd_user_group___csv | ___x_cmd csv --app
    else
        ___x_cmd_user_group___csv
    fi
}
