[ -z "$PS1" ] && return

# ANSI color code
NO_COLOUR="\[\e[0m\]"
# regular colors
RED="\[\e[0;31m\]"
GREEN="\[\e[0;32m\]"
BLUE="\[\e[0;34m\]";
PURPLE="\[\e[0;35m\]"
MAGENTA="\[\e[0;33m\]"

# -----------------------------------------------------------------------------
#
# Functions
#
# -----------------------------------------------------------------------------
function parse_git_branch {
    if ! git rev-parse --git-dir > /dev/null 2>&1; then
        return 0
    fi

    git_branch=$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')

    echo " (${GREEN}git:${git_branch}${NO_COLOUR})"
}

# Source: http://stackoverflow.com/questions/16715103/bash-prompt-with-last-exit-code
function __prompt_command() {
    # last status code
    local EXIT="${?}"

    GIT_INFO=$(parse_git_branch)

    PS1="${MAGENTA}[\t]${NO_COLOUR} "

    if [ ${EXIT} != 0 ]; then
        PS1+="${RED}\u${NO_COLOUR}"
    else
        PS1+="${BLUE}\u${NO_COLOUR}"
    fi

    PS1+="@\h:\W${GIT_INFO} "

    if [ ${UID} -eq 0 ]; then
        PS1+="${RED}#${NO_COLOUR}: "
    else
        PS1+="${GREEN}\$${NO_COLOUR}: "
    fi
}

# -----------------------------------------------------------------------------
#
# Setup environment variables
#
# -----------------------------------------------------------------------------
export EDITOR=vim
export GIT_EDITOR=vim
export PROMPT_COMMAND=__prompt_command
export GREP_OPTIONS="--color=auto"
export GREP_COLOR="4;33"
export CLICOLOR="auto"
export APPLICATION_ENV="local"

# Alias to setup scripts
alias setup="bash /vagrant/webservice/resources/scripts/setup.sh"
alias setup_composer="bash /vagrant/webservice/resources/scripts/setup_composer.sh"
alias setup_mysql="bash /vagrant/webservice/resources/scripts/setup_mysql.sh"
alias setup_node="bash /vagrant/webservice/resources/scripts/setup_node.sh"

# ZFTool alias
alias zf="php vendor/bin/zf.php"

# General aliases
alias ll="ls -laF --color=auto"
