mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-22 04:51:12 +02:00
Merge 9a150a71c2 into cb64103161
This commit is contained in:
commit
7adacc7245
2 changed files with 32 additions and 9 deletions
|
|
@ -10,7 +10,7 @@ plugins=(... pipenv ...)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Adds completion for pipenv
|
- Adds completion for pipenv ([install the `argcomplete` package to get it working with pipenv >= 2026.5.0](https://pipenv.pypa.io/en/latest/shell.html#shell-completion))
|
||||||
- Auto activates and deactivates pipenv shell
|
- Auto activates and deactivates pipenv shell
|
||||||
- Adds short aliases for common pipenv commands
|
- Adds short aliases for common pipenv commands
|
||||||
- `pch` is aliased to `pipenv check`
|
- `pch` is aliased to `pipenv check`
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,37 @@ if (( ! $+commands[pipenv] )); then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If the completion file doesn't exist yet, we need to autoload it and
|
# Compatibility note:
|
||||||
# bind it to `pipenv`. Otherwise, compinit will have already done that.
|
# pipenv < 2026.5.0 used Click-based shell completion driven by the
|
||||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_pipenv" ]]; then
|
# _PIPENV_COMPLETE environment variable.
|
||||||
typeset -g -A _comps
|
#
|
||||||
autoload -Uz _pipenv
|
# pipenv >= 2026.5.0 removed this mechanism and switched to argcomplete-based
|
||||||
_comps[pipenv]=_pipenv
|
# completion using register-python-argcomplete instead.
|
||||||
fi
|
|
||||||
|
|
||||||
_PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
|
autoload -Uz is-at-least
|
||||||
|
|
||||||
|
_pipenv_version="${$(pipenv --version 2>/dev/null)#pipenv, version }"
|
||||||
|
|
||||||
|
if is-at-least 2026.5.0 "$_pipenv_version" && (( $+commands[register-python-argcomplete] )); then
|
||||||
|
# argcomplete-based completion
|
||||||
|
autoload -Uz bashcompinit
|
||||||
|
bashcompinit
|
||||||
|
|
||||||
|
eval "$(register-python-argcomplete pipenv)"
|
||||||
|
|
||||||
|
else
|
||||||
|
# legacy Click-based completion via _PIPENV_COMPLETE
|
||||||
|
|
||||||
|
# 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" &|
|
||||||
|
fi
|
||||||
|
|
||||||
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
||||||
# Automatic pipenv shell activation/deactivation
|
# Automatic pipenv shell activation/deactivation
|
||||||
|
|
@ -34,6 +56,7 @@ if zstyle -T ':omz:plugins:pipenv' auto-shell; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
autoload -U add-zsh-hook
|
autoload -U add-zsh-hook
|
||||||
add-zsh-hook chpwd _togglePipenvShell
|
add-zsh-hook chpwd _togglePipenvShell
|
||||||
_togglePipenvShell
|
_togglePipenvShell
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue