#!/usr/bin/env zsh

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

# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"

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

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

# Theme.
ZSH_THEME=""

# Use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"

# Auto-update behavior.
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto     # update automatically without asking
zstyle ':omz:update' mode reminder # just remind me to update when it's time

# Display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the
# default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
COMPLETION_WAITING_DOTS="true"

# Plugins to load.
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
plugins=(git zsh-syntax-highlighting zsh-autosuggestions colored-man-pages gh gulp iterm2 laravel macos npm nvm sudo thefuck)

# iTerm2 Shell Integration
if [[ "$(uname)" == "Darwin" ]] && [[ $(mdfind "iTerm.app") ]]; then
  zstyle ':omz:plugins:iterm2' shell-integration yes
fi

# the fuck
eval $(thefuck --alias)

# zsh completions
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src

source $ZSH/oh-my-zsh.sh

# 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

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

# Initialize autocomplete.
autoload -U compinit
compinit

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

unset config_files

# Starship
eval "$(starship init 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/"