# Colorization function using Bash/Zsh's DEBUG trap:
#    set -T; trap 'debug' DEBUG

debug() {
  debug_prevexit="$?";
  debug_prevcmd="$debug_cmd";
  debug_cmd="$ZSH_DEBUG_CMD$BASH_COMMAND";
  if [ -z ${SUPPRESS_DEBUG+x} ]; then
    if [ "$debug_prevexit" -eq 0 ]; then
      printf "\033[0;32m%i %s\033[0m\n" "$debug_prevexit" "$debug_prevcmd" 1>&2
    else
      printf "\033[0;31m%i %s\033[0m\n" "$debug_prevexit" "$debug_prevcmd" 1>&2
    fi
    printf "\033[0;1;97m%s\033[0m\n" "$debug_cmd" 1>&2
  fi
}
