# prepare directories
if [[ ! -L ~/.cache ]]; then
  rm -rf ~/.cache
  mkdir -p $XDG_CACHE_HOME
  ln -sf $XDG_CACHE_HOME ~/.cache
fi
mkdir -p $XDG_DATA_HOME/zsh
mkdir -p $XDG_CACHE_HOME/zsh

# global exports and options
export HISTSIZE=10000
export SAVEHIST=$HISTSIZE
export HISTFILE=$XDG_DATA_HOME/zsh/history
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_SAVE_NO_DUPS
setopt HIST_REDUCE_BLANKS
setopt SHARE_HISTORY
setopt INC_APPEND_HISTORY

# if [[ -z $DISPLAY ]]; then
#   export PATH=~/.local/bin:$PATH
# fi
path=(~/.local/bin "$path[@]")

# source configuration
source $ZDOTDIR/aliases.zsh
source $ZDOTDIR/cleanhome.zsh
source $ZDOTDIR/keys.zsh
source $ZDOTDIR/ssh.zsh
source $ZDOTDIR/fzf.zsh

# source modules
source $XDG_DATA_HOME/repos/zsh_modules/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
source $XDG_DATA_HOME/repos/zsh_modules/wd/wd.plugin.zsh
export WD_CONFIG=$XDG_CONFIG_HOME/wd_list
fpath=($XDG_DATA_HOME/repos/zsh_modules/wd $fpath)

# theme and colors
eval "$(starship init zsh)"
if [[ $(command -v vivid) ]]; then
  export LS_COLORS=$(vivid generate molokai)
else
  unset LS_COLORS
fi
tabs 2

# completion
zstyle ':completion:*' menu select
zstyle ':completion:*' list-colors ''

autoload -Uz compinit
if [ ! -e $XDG_DATA_HOME/zsh/zcompdump.zwc ]; then
  autoload -Uz zrecompile
  zrecompile -p -R $XDG_DATA_HOME/zsh/zcompdump
fi
if [[ -n $XDG_DATA_HOME/zsh/zcompdump(#qN.mh+24) ]]; then
	compinit -d $XDG_DATA_HOME/zsh/zcompdump
else
	compinit -C -d $XDG_DATA_HOME/zsh/zcompdump
fi

# quick note functionality
if [[ -f ~/.note ]]; then
  echo
  cat ~/.note
  echo
fi

# local settings
if [[ -f ~/.local/config/zsh ]]; then
  source ~/.local/config/zsh
fi
