# For interactive shells
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
unsetopt beep histbeep listbeep flowcontrol
bindkey -e

# Completion
zstyle :compinstall filename '/home/david/.zshrc'
autoload -Uz compinit && compinit

DIRSTACKSIZE=16
case $TERM in
  xterm*)
    precmd () {print -Pn "\e]0;%n@%m: %~\a"}
    ;;
esac

autoload -U colors && colors
PS1="%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "

if [ `uname` != 'Darwin' ] ; then
  # ls Colors
  alias ls='ls --color'
  zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
else
  alias ls='ls -G'
fi

# Load prezto
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi

# .profile is universal
# but after oh-my-zsh to use anything setup there
. ~/.profile
# Deduplicate the path
typeset -U path


# Keybindings
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word

# Source extras and aliases if interactive
if [[ $- == *i* ]] ; then
  if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
  for file in $HOME/.zshrc.d/* ; do source "$file" ; done
fi

# In case ack is named ack-grep
if [ -x /usr/bin/ack-grep ] ; then
  alias ack='/usr/bin/ack-grep'
fi

# Most is nice, if we have it
if command -v most >/dev/null 2>&1; then
  export PAGER="most"
fi

# Load any local settings
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi

function start_esp {
  if [ ! -d ${HOME}/tools/esp ] ; then
    echo "ESP not installed!" >/dev/stderr
    return 1
  fi
  export PATH="${PATH}:${HOME}/tools/esp/xtensa-esp32-elf/bin"
  export IDF_PATH="${HOME}/tools/esp/esp-idf"
}

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
