You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
# Pipenv completion |
|
_pipenv() { |
|
eval $(env COMMANDLINE="${words[1,$CURRENT]}" _PIPENV_COMPLETE=complete-zsh pipenv) |
|
} |
|
compdef _pipenv pipenv |
|
|
|
# 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 |
|
exit |
|
fi |
|
fi |
|
fi |
|
|
|
# activate the shell if Pipfile exists |
|
if [[ "$PIPENV_ACTIVE" != 1 ]]; then |
|
if [[ -f "$PWD/Pipfile" ]]; then |
|
export pipfile_dir="$PWD" |
|
pipenv shell |
|
fi |
|
fi |
|
} |
|
autoload -U add-zsh-hook |
|
add-zsh-hook chpwd _togglePipenvShell |
|
_togglePipenvShell |
|
|
|
# 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" |
|
alias pwh="pipenv --where" |
|
alias pvenv="pipenv --venv" |
|
alias ppy="pipenv --py"
|
|
|