# vim:et sts=2 sw=2 ft=zsh
local -a remotes
if (( ${*[(I)(-r|--remotes)]} )); then
  remotes=(${^*:#-*})
else
  remotes=(${(f)"$(command git rev-parse --abbrev-ref ${^*:#-*}@{u} 2>/dev/null)"}) || remotes=()
fi
if command git branch --delete ${@} && \
    (( ${#remotes} )) && \
    read -q "?Also delete remote branch(es) ${remotes} [y/N]? "; then
  print
  local remote
  for remote (${remotes}) command git push ${remote%%/*} :${remote#*/}
fi