zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' list-suffixes true
-zstyle ':completion:*' max-errors 2
+zstyle ':completion:*' max-errors 1
zstyle ':completion:*' menu select=1
zstyle ':completion:*' preserve-prefix '//[^/]##/'
zstyle ':completion:*' prompt 'Corrections with %e differences:'
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
-HISTSIZE=20000
-SAVEHIST=20000
+HISTSIZE=100000
+SAVEHIST=100000
setopt appendhistory autocd extendedglob nomatch
unsetopt beep notify
bindkey -v
NEWLINE=$'\n'
setopt prompt_subst
+
p="%(?;%F{green};%F{red})[%h]%f "
p+="%F{red}%B%n%b%f@%F{red}%B%m%b%f"
p+=":%F{blue}%~%f"
p+="${NEWLINE}%(!.#.$) "
+virtual_env() {
+ if [ -n "${VIRTUAL_ENV+1}" ]; then
+ home_rel_path=$(echo ${VIRTUAL_ENV} | sed "s;^${HOME};~;")
+ echo -n "(${home_rel_path}) "
+ fi
+}
+
source ~/.git-prompt.sh
precmd () {
- __git_ps1 "" "${p}" "${NEWLINE}[%s]${NEWLINE}"
+ __git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
}
+
if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
gpg-connect-agent /bye >/dev/null 2>&1
fi
if [[ -f ~/.shell_aliases ]]; then
source ~/.shell_aliases
fi
+
+export WORKON_HOME=~/.virtualenvs
+source /usr/bin/virtualenvwrapper_lazy.sh
+
+chpwd() {
+ src_dir="$(readlink -f ~/src/)/"
+ if [[ $PWD == "$src_dir"* ]]; then
+ if git status &>/dev/null; then
+ venv_name=$(basename $(git rev-parse --show-toplevel))
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ current_venv_name=$(basename "$VIRTUAL_ENV")
+ if [[ "$current_venv_name" != "$venv_name" ]]; then
+ deactivate
+ workon "$venv_name"
+ fi
+ else
+ if workon | grep -q "$venv_name"; then
+ workon "$venv_name"
+ fi
+ fi
+ else
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ deactivate
+ fi
+ fi
+ else
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ deactivate
+ fi
+ fi
+}