#! /usr/bin/env bash

function sh_quote () {
 echo "$1" | perl -pe 'chomp; if (m=[^-.,_/:+@a-zA-Z0-9]=) '"{s/'/'\\\''/g; s/([-\/]?)(.*)/\$1'\$2'/}"
}

TMPFILE=`mktemp -p ~/tmp/ -t`

TO=""
KEY=""
OPT=""

LV=0

until [ "x$LV" != "x0" ]
do
 case "$1" in
  -*) OPT="$OPT $(sh_quote "$1")"
      case "$1" in
       -f|-g) OPT="$OPT $(sh_quote "$2")"
              shift
              ;;
      esac
      ;;
  /*) KEY="$KEY $(sh_quote "$1")"
      ;;
  *)  TO="$TO $(sh_quote "$1")"
      ;;
 esac
 shift
 LV=$?
done

if [ "x" != "x$TO" ]
then
 echo "To:$TO" >> $TMPFILE
fi

if [ "x" != "x$KEY" ]
then
 echo "Keywords:$KEY" >> $TMPFILE
fi

if [ "x" != "x$OPT" ]
then
 echo "Options:$OPT" >> $TMPFILE
fi

echo -------- >> $TMPFILE

zed $TMPFILE

echo; read -p "What now? " ANSWER

case "$ANSWER" in
 se*|Se*|sE*|SE*) ;;
 *) exit ;;
esac

COMMAND="gsend"

cat $TMPFILE | (
 while true
 do
  read FIRST SECOND
  case "$FIRST" in
   ---*) break
         ;;
   *) COMMAND="$COMMAND $SECOND"
      ;;
  esac
 done

 echo "$COMMAND"
 $COMMAND
)

rm -f $TMPFILE
