#!/usr/bin/env bash

set -e

command:repo-init() {
  get-args "dir:'.'"
  local need_init=true need_repo=true need_remote=true
  if [ -d "$dir" ]; then
    if [ -d "$dir/.git" ]; then
      need_init=false
      if [ -n "$(GIT_DIR="$dir/.git" git remote)" ]; then
        need_repo=false
        need_remote=false
      fi
    fi
  fi
  "$need_init" || "$need_repo" || "$need_remote" || {
    say "Nothing to do."
    exit 0
  }
  if "$need_init"; then
    (
      set -x
      git init "$dir"
    )
  fi
  if "$need_repo"; then
    (
      cd "$dir"
      local name="$(basename "$PWD")"
      set -x
      git hub repo-new "$name"
    )
  fi
  if "$need_remote"; then
    get-var login
    (
      cd "$dir"
      local name="$(basename "$PWD")"
      set -x
      git remote add origin "git@github.com:$login/$name.git"
    )
  fi
}
