#Portable across both mac and linux now
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
if [[ "$OSTYPE" == "linux-gnu" ]]; then
  # Linux
  eval `dircolors ~/.dir_colors/dircolors`
  export VISUAL="nvim"
  alias vim="$VISUAL"
elif [[ "$OSTYPE" == "darwin"* ]]; then
  # Mac OSX
  export VISUAL="/usr/local/bin/nvim"
  alias vim="$VISUAL"
fi
export EDITOR="$VISUAL"
export ITERM_24BIT=1
export TERM=xterm-256color

alias emacs='emacs -nw'
alias irssi='TERM=screen-256color irssi'
alias scheme='rlwrap mit-scheme'
alias startpg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'
alias stoppg='pg_ctl -D /usr/local/var/postgres stop'

# This is for the mac GUI version of emacs.
alias emacs-gui='open -a /Applications/Emacs.app $1'


# Git specific aliases
alias gp='git push'
alias gs='git status'
alias gd='git diff'
alias gc='git commit -v'
alias gb='git branch'
alias gbd='git branch -d'
alias gbdd='git branch -D'
alias gpu='git pull'
alias gm='git merge'
alias gf='git fetch'
alias ga='git add .'

gblame() {
  builtin git blame $1
}

parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

HISTFILE=~/.histfile
HISTSIZE=10000
SAVEHIST=10000

autoload -U colors && colors
autoload -U promptinit
autoload -U compinit && compinit
autoload -Uz vcs_info
zstyle ':completion:*' menu select
zstyle ':vcs_info:git*' formats "%{$fg[white]%}[%{$reset_color%}%{$fg[blue]%}%b%{$fg[white]%}]%{$reset_color%} %a"

promptinit
plugins=(git brew npm coffee)

# User configuration


if [[ "$OSTYPE" == "darwin"* ]]; then
  export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
  export PATH="$PATH:$HOME/.rvm/bin:/usr/lib/rstudio/bin" # Add RVM to PATH for scripting
  . ~/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

  # Haskell stuff
  export PATH=~/.cabal/bin:$PATH
  export PATH=.cabal-sandbox/bin:$PATH

  # Git Town
  export PATH=~/git-town/src:$PATH
  MANPATH=$MANPATH:~/git-town/man

  # NOTE: 'Whence' is the ZSH idiom for bash's 'type'
  export PRENPMPATH=$PATH
  if [ -n "$(whence -f npm)" ];
  then
    NPMPATH="$(npm bin)"

    if [ -d "$NPMPATH" ]; then
      PATH=$NPMPATH:$PRENPMPATH
    else
      PATH=$PRENPMPATH
    fi

    export PATH=$PATH
  fi
fi


precmd(){
  vcs_info
}

# Set up custom prompt
setopt PROMPT_SUBST

RPROMPT="%{$fg[white]%}\${vcs_info_msg_0_}%{$reset_color%}"

PROMPT="%{$fg[white]%}┌%{$reset_color%}[%{$fg[yellow]%}%n%{$reset_color%}@%{$fg[cyan]%}%m%{$reset_color%}]─[%{$fg[green]%}%d%{$reset_color%}]
%{$fg[white]%}└─╼%{$reset_color%} "

# Run opam init
if hash opam 2>/dev/null; then
  ~/.opam/opam-init/init.sh  > /dev/null 2> /dev/null || true
  eval `opam config env`
fi