#!/bin/sh

set -e

brew outdated --json | \
  jq -r '
    def colors:
     {
     "black": "\u001b[30m",
     "red": "\u001b[31m",
     "green": "\u001b[32m",
     "yellow": "\u001b[33m",
     "blue": "\u001b[34m",
     "magenta": "\u001b[35m",
     "cyan": "\u001b[36m",
     "white": "\u001b[37m",
     "reset": "\u001b[0m",
    };

    .formulae | map("\(colors.reset)\(.name)\t\(colors.yellow)\(.installed_versions[0])\(colors.reset) -> \(colors.green)\(.current_version)") | .[]
  ' | \
  column -ts $'\t' | \
  fzf -m --ansi "$@" | \
  awk '{print $1}' | \
  xargs brew upgrade
