usage() {
  echo "usage: git now add [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]"
  echo "               [--edit | -e] [--all | [--update | -u]] [--intent-to-add | -N]"
  echo "               [--refresh] [--ignore-errors] [--ignore-missing] [ --stat | -s ] [--]"
  echo "               [<filepattern>...]"
}

cmd_default() {
  MESSAGE="[${PREFIX}] `date +\"%Y/%m/%d %T\"`"
  if [ $# -eq 0 ]; then
    git add -u
    printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
  else
    local is_stat=false
    local args=()

    # args loop
    for arg in "$@"
    do
      if [ $arg = "--stat" ] || [ $arg = "-s" ]; then
        is_stat=true
      else
        n=${#args[@]}
        args[$n]=$arg
      fi
    done

    if [ $1 != "--all" ]; then
      git add ${args[@]}
    else
      git add -u
      git add .
    fi

    if $is_stat; then
      printf "${MESSAGE}\n\n%s" "`git diff --cached --stat`" | git commit -F -
    else
      printf "${MESSAGE}\n\n%s" "`git diff --cached`" | git commit -F -
    fi
  fi
}

cmd_help() {
  usage
  exit 0
}

# vim: set ff=unix ft=sh :
