# shellcheck shell=dash

___x_cmd_mac_disk(){
    [ $# -gt 0 ]   ||   set --  ls

    local op="$1";      shift
    case "$op" in
        -h|--help)      ___x_cmd help -m mac disk       ;;
        list|ls)        ___x_cmd_mac_disk_ls    "$@"    ;;
        # verify|repair|erase
        eject|info|fs)
                        ___x_cmd_mac_disk_"$op" "$@"    ;;
        *)              N=mac M="Unknown subcmd -> $op" log:ret:64 ;;
    esac
}

___x_cmd_mac_disk_eject(){
    ___x_cmd_mac___cmd osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'
}

___x_cmd_mac_disk_ls(){
    ___x_cmd_mac___cmd diskutil list "$@"
}

___x_cmd_mac_disk_info(){
    ___x_cmd_mac___cmd diskutil info "$@"
}

___x_cmd_mac_disk_fs(){
    ___x_cmd_mac___cmd diskutil listFilesystems "$@"
}

# ___x_cmd_mac_disk_verify(){
#     local op="$1"
#     case "$op" in
#         -h|--help) ___x_cmd help -m mac disk verify               ;;
#         --volumn)  shift; ___x_cmd_mac_disk_verify_volumn    "$@" ;;
#         --disk)    shift; ___x_cmd_mac_disk_verify_disk      "$@" ;;
#         *)                ___x_cmd_mac_disk_verify_disk      "$@" ;;
#     esac
# }

# ___x_cmd_mac_disk_verify_volumn(){
#     ___x_cmd_mac___cmd diskutil verifyVolume "$@"
# }

# ___x_cmd_mac_disk_verify_disk(){
#     ___x_cmd_mac___cmd diskutil verifyDisk "$@"
# }

# ___x_cmd_mac_disk_repair(){
#     local op="$1"
#     case "$op" in
#         -h|--help) ___x_cmd help -m mac disk repair               ;;
#         --volumn)  shift; ___x_cmd_mac_disk_repair_volumn    "$@" ;;
#         --disk)    shift; ___x_cmd_mac_disk_repair_disk      "$@" ;;
#         *)                ___x_cmd_mac_disk_repair_disk      "$@" ;;
#     esac
# }

# ___x_cmd_mac_disk_repair_volumn(){
#     ___x_cmd_mac___cmd diskutil repairVolume "$@"
# }

# ___x_cmd_mac_disk_repair_disk(){
#     ___x_cmd_mac___cmd diskutil repairDisk "$@"
# }

# ___x_cmd_mac_disk_erase(){
#     ___x_cmd_mac___cmd diskutil eraseDisk "$@"
# }

# ___x_cmd_mac_disk_format(){
#     diskutil eraseVolume
#     diskutil eraseDisk
# }

# ___x_cmd_mac_disk_reformat(){
#     diskutil reformat
# }

# ___x_cmd_mac_disk_rename(){
#     local id="$1"
#     local newname="$2"
#     ___x_cmd_mac___cmd diskutil rename "$id" "$newname"
# }
