2023-01-03 08:44:53 +00:00
|
|
|
if (( ! $+commands[pipenv] )); then
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
|
|
|
|
# If the completion file doesn't exist yet, we need to autoload it and
|
|
|
|
# bind it to `pipenv`. Otherwise, compinit will have already done that.
|
|
|
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_pipenv" ]]; then
|
|
|
|
typeset -g -A _comps
|
|
|
|
autoload -Uz _pipenv
|
|
|
|
_comps[pipenv]=_pipenv
|
|
|
|
fi
|
|
|
|
|
|
|
|
_PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
|
2019-05-08 07:48:28 +00:00
|
|
|
|
2023-09-06 17:01:41 +00:00
|
|
|
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
|
|
|
# Automatic pipenv shell activation/deactivation
|
|
|
|
_togglePipenvShell() {
|
|
|
|
# deactivate shell if Pipfile doesn't exist and not in a subdir
|
|
|
|
if [[ ! -f "$PWD/Pipfile" ]]; then
|
|
|
|
if [[ "$PIPENV_ACTIVE" == 1 ]]; then
|
|
|
|
if [[ "$PWD" != "$pipfile_dir"* ]]; then
|
2024-11-19 20:05:34 +00:00
|
|
|
unset PIPENV_ACTIVE pipfile_dir
|
|
|
|
deactivate
|
2023-09-06 17:01:41 +00:00
|
|
|
fi
|
2019-05-08 07:48:28 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2023-09-06 17:01:41 +00:00
|
|
|
# activate the shell if Pipfile exists
|
|
|
|
if [[ "$PIPENV_ACTIVE" != 1 ]]; then
|
|
|
|
if [[ -f "$PWD/Pipfile" ]]; then
|
|
|
|
export pipfile_dir="$PWD"
|
2024-11-19 20:05:34 +00:00
|
|
|
source "$(pipenv --venv)/bin/activate"
|
|
|
|
export PIPENV_ACTIVE=1
|
2023-09-06 17:01:41 +00:00
|
|
|
fi
|
2019-05-08 07:48:28 +00:00
|
|
|
fi
|
2023-09-06 17:01:41 +00:00
|
|
|
}
|
|
|
|
autoload -U add-zsh-hook
|
|
|
|
add-zsh-hook chpwd _togglePipenvShell
|
|
|
|
_togglePipenvShell
|
|
|
|
fi
|
2019-05-08 07:48:28 +00:00
|
|
|
|
|
|
|
# Aliases
|
|
|
|
alias pch="pipenv check"
|
|
|
|
alias pcl="pipenv clean"
|
|
|
|
alias pgr="pipenv graph"
|
|
|
|
alias pi="pipenv install"
|
|
|
|
alias pidev="pipenv install --dev"
|
|
|
|
alias pl="pipenv lock"
|
|
|
|
alias po="pipenv open"
|
|
|
|
alias prun="pipenv run"
|
|
|
|
alias psh="pipenv shell"
|
|
|
|
alias psy="pipenv sync"
|
|
|
|
alias pu="pipenv uninstall"
|
2023-04-16 07:49:04 +00:00
|
|
|
alias pupd="pipenv update"
|
2019-05-08 07:48:28 +00:00
|
|
|
alias pwh="pipenv --where"
|
|
|
|
alias pvenv="pipenv --venv"
|
|
|
|
alias ppy="pipenv --py"
|