# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.

eval "$(/opt/homebrew/bin/brew shellenv)"

# SET HE DIRECTORY WE WANT TO STORE ZINIT AND PLUGINS
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"

# Download ZINIT, if its not there yet
if [ ! -d "$ZINIT_HOME" ]; then
	mkdir -p "$(dirname $ZINIT_HOME)"
	git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
fi

# Source/Load zinit
source "${ZINIT_HOME}/zinit.zsh"

# add in zsh plugins
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab

# load completions
autoload -U compinit && compinit


# history
HISTSIZE=5000
HISTFILE=~/.zsh-history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups

# completion styling
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' menu no
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'

# aliases
alias ls='ls --color'
alias gita='git add .'
alias gitc='git commit -m'
alias gitp='git push origin'
alias gitpu='git push -u origin'
alias gitco='git checkout'
alias gitcob='git checkout -b'
alias gitm='git merge'

# shell integrations
eval "$(fzf --zsh)"
export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"

eval "$(zoxide init zsh)"

# Created by `pipx` on 2025-11-06 06:41:44
export PATH="$PATH:/Users/edwardrangel/.local/bin"

fpath+=~/.zfunc; autoload -Uz compinit; compinit

# Initialize Oh My Posh for Zsh
eval "$(oh-my-posh init zsh --config 'https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/amro.omp.json')"

# Go Stack
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
# The following lines have been added by Docker Desktop to enable Docker CLI completions.
fpath=(/Users/edwardrangel/.docker/completions $fpath)
autoload -Uz compinit
compinit
# End of Docker CLI completions

# pnpm
export PNPM_HOME="/Users/edwardrangel/Library/pnpm"
case ":$PATH:" in
  *":$PNPM_HOME:"*) ;;
  *) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end