fn="/tmp/fontnames.txt"

contains_dash() {
  [[ "$1" =~ - ]]
}

update() {
  : > "$fn"

  font_list=$(fc-list -f "%{fullname}\n")

  echo "$font_list" | while read -r line ; do

    first="$(echo "$line" | cut -d',' -f1)"
    last="$(echo "$line" | cut -d',' -f2)"

    if contains_dash "$first"; then
      echo "$last" >> "$fn"
    else
      echo "$first" >> "$fn"
    fi
  done
}

case "${1:-}" in
  --update) update;;
  *) sort -u "$fn" | awk 'NF' | fzf;;
esac
