diff --git a/lib/directories.zsh b/lib/directories.zsh index 1896945f4..19694074d 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -21,23 +21,6 @@ alias 7='cd -7' alias 8='cd -8' alias 9='cd -9' -cd () { - if [[ "x$*" == "x..." ]]; then - cd ../.. - elif [[ "x$*" == "x...." ]]; then - cd ../../.. - elif [[ "x$*" == "x....." ]]; then - cd ../../../.. - elif [[ "x$*" == "x......" ]]; then - cd ../../../../.. - elif [ -d ~/.autoenv ]; then - source ~/.autoenv/activate.sh - autoenv_cd "$@" - else - builtin cd "$@" - fi -} - alias md='mkdir -p' alias rd=rmdir alias d='dirs -v | head -10' diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh index ca5666979..960ff667c 100644 --- a/plugins/autoenv/autoenv.plugin.zsh +++ b/plugins/autoenv/autoenv.plugin.zsh @@ -1,3 +1,11 @@ +# Add the functions from autoenv if it's installed. +if [ -r ~/.autoenv/activate.sh ]; then + source ~/.autoenv/activate.sh + # Use a zsh hook instead of overriding the builtin cd. + unset -f cd + add-zsh-hook chpwd autoenv_init +fi + # The use_env call below is a reusable command to activate/create a new Python # virtualenv, requiring only a single declarative line of code in your .env files. # It only performs an action if the requested virtualenv is not the current one. diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh index 35de50874..487bf2f36 100644 --- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh +++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh @@ -40,10 +40,8 @@ if [[ -f "$wrapsource" ]]; then fi } - # New cd function that does the virtualenv magic - function cd { - builtin cd "$@" && workon_cwd - } + # Add zsh hook for virtualenv magic + add-zsh-hook chpwd workon_cwd fi else print "zsh virtualenvwrapper plugin: Cannot find virtualenvwrapper_lazy.sh. Please install with \`pip install virtualenvwrapper\`."