# .zshenv [0] Used for setting user's environment variables; it should not
# contain commands that produce output or assume the shell is attached to a
# tty. This file will always be sourced.

# Enable saving command history to file
[ ! -d $HOME/.cache/zsh ] && mkdir -p $HOME/.cache/zsh
HISTFILE=$HOME/.cache/zsh/histfile
HISTSIZE=20000
SAVEHIST=20000

# Remove vi mode switch delay
KEYTIMEOUT=1

# Enable time stats for long lasting commands
REPORTTIME=5

# Add ~/.local to the environment
fpath+=$HOME/.local/share/zsh/site-functions
PATH=$HOME/.local/bin:$PATH
MANPATH=$HOME/.local/share/man:$MANPATH
INFOPATH=$HOME/.local/share/info:$INFOPATH

if [ `uname` = Darwin ]; then
  [ -f /usr/local/bin/ccache ] && \
    PATH=/usr/local/opt/ccache/libexec:$PATH
elif [ -f /usr/bin/ccache ]; then
  if [ -d /usr/lib/ccache/bin ]; then
    PATH=/usr/lib/ccache/bin:$PATH
  elif [ -d /usr/lib/ccache ]; then
    PATH=/usr/lib/ccache:$PATH
  fi
fi

# Remove duplicates from environment variables
typeset -U fpath
typeset -U PATH;      export PATH
typeset -U MANPATH;   export MANPATH
typeset -U INFOPATH;  export INFOPATH

# Use ~/.local for pip installs on macOS
[ "`uname`" = "Darwin" ] && export PYTHONUSERBASE=$HOME/.local

# Change colors used by less and man
export LESS_TERMCAP_mb=`printf "\e[0;31m"`
export LESS_TERMCAP_md=`printf "\e[0;36m"`
export LESS_TERMCAP_me=`printf "\e[0m"`
export LESS_TERMCAP_so=`printf "\e[1;40;32m"`
export LESS_TERMCAP_se=`printf "\e[0m"`
export LESS_TERMCAP_us=`printf "\e[0;34m"`
export LESS_TERMCAP_ue=`printf "\e[0m"`

# Force GoogleTest to output colors
export GTEST_COLOR=yes
# Allow completions for GoogleTest break on failure
export GTEST_BREAK_ON_FAILURE=0
# Force CTest to verbose output
export CTEST_OUTPUT_ON_FAILURE=1

# Disable virtualenv prompt
VIRTUAL_ENV_DISABLE_PROMPT=1

# If pinentry-curses exists, use it for lastpass-cli
which pinentry-curses &> /dev/null && \
  export LPASS_PINENTRY=pinentry-curses