#!/usr/bin/env zsh

# Remove that annoying 'last logged in' message.
# Tested this method vs in iTerm settings - latter is less portable and slower.
printf '\33c\e[3J'

# Base path.
export PATH="$HOME/bin:/usr/local/bin:$HOME/dotfiles/bin:$PATH"

# Dotfiles root dir.
export DOT="$HOME/dotfiles"

# Projects dir.
export HACK="$HOME/hackin"

# Local environment variables.
if [[ -e $HOME/.local.env ]]; then
  source ~/.local.env
fi

# All zsh dotfiles.
typeset -U config_files
config_files=($DOT/**/*.zsh)

# Load path files first.
for file in ${(M)config_files:#*/path.zsh}; do
  source $file
done
#
# Initialize autocomplete.
autoload -U compinit
compinit

# Load everything else, except completion.
for file in ${${config_files:#*/path.zsh}:#*/completion.zsh}; do
  source $file
done

# Load autocompletions.
for file in ${(M)config_files:#*/completion.zsh}; do
  source $file
done

unset config_files

# Starship
export STARSHIP_CONFIG=$DOT/zsh/starship.toml
eval "$(starship init zsh)"

# Zsh Autosuggestions
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh

# The Fuck
eval "$(thefuck --alias)"

# Zsh Syntax Highlighting
# Must go last!!!
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# Herd injected PHP binary.
export PATH="/Users/marley/Library/Application Support/Herd/bin/":$PATH


# Herd injected PHP 8.2 configuration.
export HERD_PHP_82_INI_SCAN_DIR="/Users/marley/Library/Application Support/Herd/config/php/82/"


# Herd injected PHP 8.3 configuration.
export HERD_PHP_83_INI_SCAN_DIR="/Users/marley/Library/Application Support/Herd/config/php/83/"


# Herd injected PHP 8.1 configuration.
export HERD_PHP_81_INI_SCAN_DIR="/Users/marley/Library/Application Support/Herd/config/php/81/"