PATH=$PATH:${HOME}/bin:${HOME}/.local/bin

# Set Vars for ssh via gpg
export GPG_TTY=$(tty)
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
#gpgconf --launch gpg-agent

# Settings for the *omz/lib/history*
#
# Set the timestamp format for history for ISO format
export HIST_STAMPS="yyyy-mm-dd"
# Don't bother storing these commands in history
export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|.* --help)"
# Set the location for the zsh_history file to be inside our .zsh foler
export HISTFILE="$ZDOTDIR/.zsh_history"
# Keep this many history events in per-shell memory
export HISTSIZE=100000
# Keep this many history events in the log file
export SAVEHIST=50000

export ZSH_TMUX_AUTOSTART=true

if [ -e ${HOME}/.zplug/init.zsh ]; then
  # For local manual installs
  source ~/.zplug/init.zsh
elif [ -e /usr/share/zplug/init.zsh ]; then
  # For system-wide installs
  source /usr/share/zplug/init.zsh
elif [ -e /usr/local/opt/zplug/init.zsh ]; then
  # For homebrew MacOSX
  export ZPLUG_HOME=/usr/local/opt/zplug
  source $ZPLUG_HOME/init.zsh
fi

alias pip=pip3
alias vim="nvim"
alias vi="nvim"
alias vimdiff="nvim -d"
alias dlports="docker container ls --format table '{{.ID}}\t{{.Names}}\t{{.Ports}} -a'"
alias gpb=git-parent-branch

export EDITOR=nvim
# Prefer case sensitive autocomplete
export CASE_SENSITIVE="true"
# Default all my venv to python3
export AUTOSWITCH_DEFAULT_PYTHON=$(which python3)
# My prompt reflects my venv automatically, don't pollute it by default
export VIRTUAL_ENV_DISABLE_PROMPT=1

# Use this to define the git lg alias
function define_gitlg {
  git config --global alias.lg log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --abbrev-commit
}

# Code to maintain pagent connections to tmux through link drops
#SOCK="/tmp/ssh-agent-$USER-tmux"
#if test $SSH_AUTH_SOCK && [ $SSH_AUTH_SOCK != $SOCK ]; then
#  rm -f $SOCK
#  ln -sf $SSH_AUTH_SOCK $SOCK
#  SSH_AUTH_SOCK=$SOCK
#fi

#zplug "zsh-users/zsh-completions"
zplug "marlonrichert/zsh-autocomplete"

zplug "plugins/docker-compose", from:oh-my-zsh
zplug "plugins/git", from:oh-my-zsh
zplug "lib/history", from:oh-my-zsh
zplug "plugins/sudo", from:oh-my-zsh
zplug "plugins/vi-mode", from:oh-my-zsh
zplug "plugins/vagrant", from:oh-my-zsh
zplug "lib/termsupport", from:oh-my-zsh

zplug "tcnksm/docker-alias", use:zshrc

zplug "MichaelAquilina/zsh-autoswitch-virtualenv"
#zplug "jqlang/jq"

zplug "b4b4r07/httpstat", as:command, use:'(*).sh', rename-to:'$1'
zplug "drwetter/testssl.sh", as:command, use:'(*).sh', rename-to:'$1'
#zplug "drwetter/testssl.sh", as:command, use: 'testssl.sh'

#zplug "nichus/zsh-tmux-multisession"
zplug "nichus/zsh-todotxt"
zplug "nichus/qi3ber2", as:theme

zplug "zsh-users/zsh-syntax-highlighting", defer:2
zplug "zsh-users/zsh-history-substring-search", defer: 2

zplug "zplug/zplug", hook-build: "zplug --self-manage"

zplug check || zplug install

zplug load

unsetopt share_history
unsetopt hist_verify
setopt  hist_ignore_all_dups
setopt  hist_find_no_dups

source <(kubectl completion zsh)
eval "$(zoxide init zsh)"

bindkey '^U' backward-kill-line
bindkey '^K' kill-line
bindkey '^Y' yank

function git-parent-branch {
  git show-branch -a \
    | grep '\*' \
    | grep -v `git-rev-parse --abbrev-ref HEAD` \
    | head -n1 \
    | sed 's/.*\[\(.*\)\].*/\1/' \
    | sed 's/[\^~].*//'
}