mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 09:19:25 +00:00
Compare commits
1 Commits
module/com
...
pull/517-a
Author | SHA1 | Date | |
---|---|---|---|
e3696d2c28 |
@ -61,44 +61,6 @@ zstyle ':completion:*' format ' %F{yellow}-- %d --%f'
|
||||
zstyle ':completion:*' group-name ''
|
||||
zstyle ':completion:*' verbose yes
|
||||
|
||||
|
||||
# Don't autoexpand until nothing else has changed on line
|
||||
zstyle ':completion:*' keep-prefix true
|
||||
zstyle ':completion:*' expand prefix suffix
|
||||
# zstyle ':completion:*' suffix true
|
||||
|
||||
# Complete ..
|
||||
zstyle ':completion:*' special-dirs ..
|
||||
|
||||
# Do not select the current directory when executing cd ../<tab>.
|
||||
zstyle ':completion:*:cd:*' ignore-parents parent pwd
|
||||
|
||||
# Do not perform completion on pastes containing tabs.
|
||||
zstyle ':completion:*' insert-tab pending
|
||||
|
||||
# Some completion settings
|
||||
# zstyle ':completion:*:match:*' match-original only
|
||||
zstyle ':completion:*' insert-unambiguous true
|
||||
|
||||
# Expand partial paths.
|
||||
# zstyle ':completion:*' squeeze-slashes true
|
||||
|
||||
# Rehash when failing to find the executable.
|
||||
zstyle ':completion:*' rehash true
|
||||
|
||||
# Add a recent director listing completion using the cdr command
|
||||
autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
|
||||
add-zsh-hook chpwd chpwd_recent_dirs
|
||||
zstyle ':completion:*:*:cdr:*:*' menu selection
|
||||
zstyle ':chpwd:*' recent-dirs-default true
|
||||
zstyle ':completion:*' recent-dirs-insert both
|
||||
zstyle ':chpwd:*' recent-dirs-prune parent
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Fuzzy match mistyped completions.
|
||||
zstyle ':completion:*' completer _complete _match _approximate
|
||||
zstyle ':completion:*:match:*' original only
|
||||
|
@ -61,6 +61,29 @@ system site-packages directory.
|
||||
|
||||
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
|
||||
|
||||
### Settings
|
||||
|
||||
#### Lazy loading
|
||||
|
||||
By default, virtualenvwrapper is loaded in lazy mode. This behaviour can be disabled adding the following line to *~/.zpreztorc*:
|
||||
|
||||
zstyle ':prezto:module:python' lazy_venv 'no'
|
||||
|
||||
#### Automatic virtualenv initialization
|
||||
|
||||
To enable autoenv, add the following line to *~/.zpreztorc*:
|
||||
|
||||
zstyle ':prezto:module:python' autoenv 'yes'
|
||||
|
||||
If a virtualenv is active, and was not activated by autoenv, then autoenv does nothing.
|
||||
Otherwise, autoenv activated or deactivates a virtual environment whenever a directory is changed; based on the following priority:
|
||||
|
||||
1. Name specified in a file named *.venv* in the cwd.
|
||||
2. *.venv* file in git root. If folder is inside git repository.
|
||||
3. Name of git root folder.
|
||||
4. No virtualenv.
|
||||
|
||||
|
||||
Aliases
|
||||
-------
|
||||
|
||||
|
@ -31,17 +31,66 @@ if (( ! $+commands[python] && ! $+commands[pyenv] )); then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local venv_script=virtualenvwrapper
|
||||
if zstyle -T ':prezto:module:python' lazy_venv; then
|
||||
venv_script+=_lazy
|
||||
fi
|
||||
|
||||
# Load virtualenvwrapper into the shell session.
|
||||
if (( $+commands[virtualenvwrapper_lazy.sh] )); then
|
||||
if (( $+commands[$venv_script.sh] )); then
|
||||
# Set the directory where virtual environments are stored.
|
||||
export WORKON_HOME="$HOME/.virtualenvs"
|
||||
|
||||
# Disable the virtualenv prompt.
|
||||
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||
|
||||
source "$commands[virtualenvwrapper_lazy.sh]"
|
||||
source "$commands[$venv_script.sh]"
|
||||
fi
|
||||
|
||||
function autoenv {
|
||||
#Don't run in shell scripts etc.
|
||||
if [[ $ZSH_SUBSHELL -ne 0 ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
#Don't run if currently in virtual env not set by autoenv
|
||||
if (( ($+VIRTUAL_ENV) && !($+AUTOENV) )); then
|
||||
return
|
||||
fi
|
||||
|
||||
local name=""
|
||||
if [[ -f .venv ]]; then
|
||||
#.venv file in current dir gets highest priority
|
||||
name=$(<.venv)
|
||||
elif is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
|
||||
local gitroot="$(git rev-parse --show-toplevel 2> /dev/null)"
|
||||
if [ -f "$gitroot/.venv" ]; then
|
||||
#If there is a .venv file in gitroot
|
||||
name=$(<$gitroot/.venv)
|
||||
else
|
||||
#Else use the name of the folder as venv name
|
||||
name=$gitroot:t
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
local venv_name="$VIRTUAL_ENV:t"
|
||||
if [[ $name != $venv_name ]]; then
|
||||
if [[ -z $name ]]; then
|
||||
deactivate && unset AUTOENV
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ -d "$WORKON_HOME/$name" ]]; then
|
||||
workon $name && export AUTOENV=1
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
if zstyle -T ':prezto:module:python' autoenv; then
|
||||
add-zsh-hook chpwd autoenv
|
||||
fi
|
||||
#
|
||||
# Aliases
|
||||
#
|
||||
|
Reference in New Issue
Block a user