mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-10-02 07:56:05 +02:00
Compare commits
11
Commits
ad586ffeca
...
076d692dac
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
076d692dac | ||
|
|
7e2aa2c8cb | ||
|
|
ab84cca50a | ||
|
|
a4a224b3fe | ||
|
|
898b579cf5 | ||
|
|
bc0d7fa6ab | ||
|
|
ed19f8ffcf | ||
|
|
26b4e0a8c0 | ||
|
|
a8afe14b93 | ||
|
|
be0dfaad6b | ||
|
|
14200130f0 |
No files matched your search
@@ -40,6 +40,15 @@ function _omz_git_prompt_info() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _omz_git_prompt_status() {
|
function _omz_git_prompt_status() {
|
||||||
|
# OHMYZSH-13330: avoid "regex matching error: illegal byte sequence".
|
||||||
|
# zsh's "=~" operator delegates to the C library regex, which aborts with
|
||||||
|
# REG_ILLSEQ when the subject contains an invalid byte sequence under a
|
||||||
|
# multibyte locale (e.g. a filename with non-UTF-8 bytes in `git status`
|
||||||
|
# output). Forcing the C locale makes every byte a valid character, so the
|
||||||
|
# regex matching below never fails that way. `git status --porcelain` is
|
||||||
|
# locale-independent, so this does not change the parsed output.
|
||||||
|
local -x LC_ALL=C
|
||||||
|
|
||||||
[[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return
|
[[ "$(__git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]] && return
|
||||||
|
|
||||||
# Maps a git status prefix to an internal constant
|
# Maps a git status prefix to an internal constant
|
||||||
|
|||||||
+3
-1
@@ -124,9 +124,11 @@ fi
|
|||||||
if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then
|
if [[ "$ZSH_DISABLE_COMPFIX" != true ]]; then
|
||||||
source "$ZSH/lib/compfix.zsh"
|
source "$ZSH/lib/compfix.zsh"
|
||||||
# Load only from secure directories
|
# Load only from secure directories
|
||||||
|
# Reset the flag compinit sets when -i excludes insecure entries
|
||||||
|
unset _comp_secure
|
||||||
compinit -i -d "$ZSH_COMPDUMP"
|
compinit -i -d "$ZSH_COMPDUMP"
|
||||||
# If completion insecurities exist, warn the user
|
# If completion insecurities exist, warn the user
|
||||||
handle_completion_insecurities &|
|
[[ "$_comp_secure" == yes ]] && handle_completion_insecurities &|
|
||||||
else
|
else
|
||||||
# If the user wants it, load from all found directories
|
# If the user wants it, load from all found directories
|
||||||
compinit -u -d "$ZSH_COMPDUMP"
|
compinit -u -d "$ZSH_COMPDUMP"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ plugins=(... archlinux)
|
|||||||
| pacloc | `pacman -Qi` | Display information about a package in the local database |
|
| pacloc | `pacman -Qi` | Display information about a package in the local database |
|
||||||
| paclocs | `pacman -Qs` | Search for packages in the local database |
|
| paclocs | `pacman -Qs` | Search for packages in the local database |
|
||||||
| paclr | `sudo pacman -Scc` | Remove all files from the cache |
|
| paclr | `sudo pacman -Scc` | Remove all files from the cache |
|
||||||
| paclsorphans | `sudo pacman -Qdt` | List all orphaned packages |
|
| paclsorphans | `pacman -Qdt` | List all orphaned packages |
|
||||||
| pacmir | `sudo pacman -Syy` | Force refresh of all package lists after updating mirrorlist |
|
| pacmir | `sudo pacman -Syy` | Force refresh of all package lists after updating mirrorlist |
|
||||||
| pacre | `sudo pacman -R` | Remove packages, keeping its settings and dependencies |
|
| pacre | `sudo pacman -R` | Remove packages, keeping its settings and dependencies |
|
||||||
| pacrem | `sudo pacman -Rns` | Remove packages, including its settings and dependencies |
|
| pacrem | `sudo pacman -Rns` | Remove packages, including its settings and dependencies |
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ alias pacloc='pacman -Qi'
|
|||||||
alias paclocs='pacman -Qs'
|
alias paclocs='pacman -Qs'
|
||||||
alias pacinsd='sudo pacman -S --asdeps'
|
alias pacinsd='sudo pacman -S --asdeps'
|
||||||
alias pacmir='sudo pacman -Syy'
|
alias pacmir='sudo pacman -Syy'
|
||||||
alias paclsorphans='sudo pacman -Qdt'
|
alias paclsorphans='pacman -Qdt'
|
||||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||||
alias pacfileupg='sudo pacman -Fy'
|
alias pacfileupg='sudo pacman -Fy'
|
||||||
alias pacfiles='pacman -F'
|
alias pacfiles='pacman -F'
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ function agr() {
|
|||||||
# Update state file if enabled
|
# Update state file if enabled
|
||||||
function _aws_update_state() {
|
function _aws_update_state() {
|
||||||
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
||||||
test -d $(dirname ${AWS_STATE_FILE}) || return 1
|
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1
|
||||||
echo "${AWS_PROFILE} ${AWS_REGION}" > "${AWS_STATE_FILE}"
|
echo "${AWS_PROFILE} ${AWS_REGION}" > "${AWS_STATE_FILE}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function _aws_clear_state() {
|
function _aws_clear_state() {
|
||||||
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
if [[ "$AWS_PROFILE_STATE_ENABLED" == true ]]; then
|
||||||
test -d $(dirname ${AWS_STATE_FILE}) || return 1
|
test -d "$(dirname "${AWS_STATE_FILE}")" || return 1
|
||||||
echo -n > "${AWS_STATE_FILE}"
|
echo -n > "${AWS_STATE_FILE}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,5 +32,6 @@ It works out of the box with the command-not-found packages for:
|
|||||||
- [SUSE](https://www.unix.com/man-page/suse/1/command-not-found/)
|
- [SUSE](https://www.unix.com/man-page/suse/1/command-not-found/)
|
||||||
- [Gentoo](https://github.com/AndrewAmmerlaan/command-not-found-gentoo/tree/main)
|
- [Gentoo](https://github.com/AndrewAmmerlaan/command-not-found-gentoo/tree/main)
|
||||||
- [Void Linux](https://codeberg.org/classabbyamp/xbps-command-not-found)
|
- [Void Linux](https://codeberg.org/classabbyamp/xbps-command-not-found)
|
||||||
|
- [Alpine Linux](https://pkgs.alpinelinux.org/package/edge/main/x86_64/command-not-found)
|
||||||
|
|
||||||
You can add support for other platforms by submitting a Pull Request.
|
You can add support for other platforms by submitting a Pull Request.
|
||||||
@@ -74,3 +74,10 @@ if [[ -x /usr/bin/command-not-found ]]; then
|
|||||||
/usr/bin/command-not-found "$1"
|
/usr/bin/command-not-found "$1"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/command-not-found/APKBUILD
|
||||||
|
if [[ -x /usr/libexec/command-not-found ]]; then
|
||||||
|
command_not_found_handler() {
|
||||||
|
/usr/libexec/command-not-found "$1"
|
||||||
|
}
|
||||||
|
fi
|
||||||
@@ -102,7 +102,7 @@ EOF
|
|||||||
(*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$full_path" ;;
|
(*.tar.lrz) (( $+commands[lrzuntar] )) && lrzuntar "$full_path" ;;
|
||||||
(*.gz) (( $+commands[pigz] )) && pigz -cdk "$full_path" > "${file:t:r}" || gunzip -ck "$full_path" > "${file:t:r}" ;;
|
(*.gz) (( $+commands[pigz] )) && pigz -cdk "$full_path" > "${file:t:r}" || gunzip -ck "$full_path" > "${file:t:r}" ;;
|
||||||
(*.bz2) (( $+commands[pbzip2] )) && pbzip2 -d "$full_path" || bunzip2 "$full_path" ;;
|
(*.bz2) (( $+commands[pbzip2] )) && pbzip2 -d "$full_path" || bunzip2 "$full_path" ;;
|
||||||
(*.xz) unxz "$full_path" ;;
|
(*.xz) xzcat "$full_path" > "${file:t:r}" ;;
|
||||||
(*.lrz) (( $+commands[lrunzip] )) && lrunzip "$full_path" ;;
|
(*.lrz) (( $+commands[lrunzip] )) && lrunzip "$full_path" ;;
|
||||||
(*.lz4) lz4 -d "$full_path" ;;
|
(*.lz4) lz4 -d "$full_path" ;;
|
||||||
(*.lzma) unlzma "$full_path" ;;
|
(*.lzma) unlzma "$full_path" ;;
|
||||||
|
|||||||
@@ -48,10 +48,11 @@ Default: `no`
|
|||||||
### `show-group`
|
### `show-group`
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
zstyle ':omz:plugins:eza' 'show-group' yes|no
|
zstyle ':omz:plugins:eza' 'show-group' yes|no|smart
|
||||||
```
|
```
|
||||||
|
|
||||||
If `yes` (default), always add `-g` flag to show the group ownership.
|
If `yes` (default), always add `-g` flag to show the group ownership.
|
||||||
|
If `smart`, adds the `--smart-group` flag to only show the group if it has a different name from the owner.
|
||||||
|
|
||||||
Default: `yes`
|
Default: `yes`
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,15 @@ typeset -a _EZA_TAIL
|
|||||||
function _configure_eza() {
|
function _configure_eza() {
|
||||||
local _val
|
local _val
|
||||||
# Get the head flags
|
# Get the head flags
|
||||||
if zstyle -T ':omz:plugins:eza' 'show-group'; then
|
zstyle -s ':omz:plugins:eza' 'show-group' _val
|
||||||
_EZA_HEAD+=("g")
|
case "${_val:l}" in
|
||||||
fi
|
yes)
|
||||||
|
_EZA_HEAD+=("g")
|
||||||
|
;;
|
||||||
|
smart)
|
||||||
|
_EZA_TAIL+=("--smart-group")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
if zstyle -t ':omz:plugins:eza' 'header'; then
|
if zstyle -t ':omz:plugins:eza' 'header'; then
|
||||||
_EZA_HEAD+=("h")
|
_EZA_HEAD+=("h")
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -70,3 +70,6 @@ alias jjrt='cd "$(jj root || echo .)"'
|
|||||||
alias jjsp='jj split'
|
alias jjsp='jj split'
|
||||||
alias jjsq='jj squash'
|
alias jjsq='jj squash'
|
||||||
alias jjst='jj status'
|
alias jjst='jj status'
|
||||||
|
alias jjwa='jj workspace add'
|
||||||
|
alias jjwf='jj workspace forget'
|
||||||
|
|
||||||
@@ -4,37 +4,50 @@
|
|||||||
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
|
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
|
||||||
|
|
||||||
function {
|
function {
|
||||||
local agents
|
local -a identities
|
||||||
local -a identities
|
local -a options
|
||||||
local -a options
|
local _keychain_env_sh
|
||||||
local _keychain_env_sh
|
local _keychain_env_sh_gpg
|
||||||
local _keychain_env_sh_gpg
|
local version_string major
|
||||||
|
|
||||||
# load agents to start.
|
# load identities to manage.
|
||||||
zstyle -s :omz:plugins:keychain agents agents
|
zstyle -a :omz:plugins:keychain identities identities
|
||||||
|
|
||||||
# load identities to manage.
|
# load additional options
|
||||||
zstyle -a :omz:plugins:keychain identities identities
|
zstyle -a :omz:plugins:keychain options options
|
||||||
|
|
||||||
# load additional options
|
# Detect major version robustly: case-insensitive, tolerant of
|
||||||
zstyle -a :omz:plugins:keychain options options
|
# "keychain 3.0.0_beta3" / "Keychain 3.0.0" / etc.
|
||||||
|
version_string=$(keychain --version 2>&1)
|
||||||
|
if [[ "${version_string:l}" =~ '([0-9]+)\.[0-9]+' ]]; then
|
||||||
|
major=${match[1]}
|
||||||
|
else
|
||||||
|
major=2
|
||||||
|
fi
|
||||||
|
|
||||||
# Check keychain version to decide whether to use --agents
|
if (( major >= 3 )); then
|
||||||
local version_string=$(keychain --version 2>&1)
|
# Keychain 3.x: subcommand-based CLI, no --agents.
|
||||||
# start keychain, only use --agents for versions below 2.9.0
|
keychain add ${^options:-} --host $SHORT_HOST ${^identities}
|
||||||
autoload -Uz is-at-least
|
else
|
||||||
if [[ "$version_string" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \
|
local agents
|
||||||
is-at-least 2.9 "$match[1]"; then
|
|
||||||
keychain ${^options:-} ${^identities} --host $SHORT_HOST
|
|
||||||
else
|
|
||||||
keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get the filenames to store/lookup the environment from
|
# load agents to start (only used by keychain < 2.9).
|
||||||
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
|
zstyle -s :omz:plugins:keychain agents agents
|
||||||
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
|
|
||||||
|
|
||||||
# Source environment settings.
|
autoload -Uz is-at-least
|
||||||
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
|
if [[ "${version_string:l}" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \
|
||||||
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
|
is-at-least 2.9 "$match[1]"; then
|
||||||
|
keychain ${^options:-} ${^identities} --host $SHORT_HOST
|
||||||
|
else
|
||||||
|
keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the filenames to store/lookup the environment from
|
||||||
|
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
|
||||||
|
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
|
||||||
|
|
||||||
|
# Source environment settings.
|
||||||
|
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
|
||||||
|
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
|
||||||
}
|
}
|
||||||
@@ -91,13 +91,14 @@ bindkey -M vicmd $PER_DIRECTORY_HISTORY_TOGGLE per-directory-history-toggle-hist
|
|||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
||||||
|
_per_directory_history_global="$HISTFILE"
|
||||||
|
|
||||||
function _per-directory-history-change-directory() {
|
function _per-directory-history-change-directory() {
|
||||||
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
_per_directory_history_directory="$HISTORY_BASE${PWD:A}/history"
|
||||||
mkdir -p ${_per_directory_history_directory:h}
|
mkdir -p ${_per_directory_history_directory:h}
|
||||||
if [[ $_per_directory_history_is_global == false ]]; then
|
if [[ $_per_directory_history_is_global == false ]]; then
|
||||||
#save to the global history
|
#save to the global history
|
||||||
fc -AI $HISTFILE
|
fc -AI "$_per_directory_history_global"
|
||||||
#save history to previous file
|
#save history to previous file
|
||||||
local prev="$HISTORY_BASE${OLDPWD:A}/history"
|
local prev="$HISTORY_BASE${OLDPWD:A}/history"
|
||||||
mkdir -p ${prev:h}
|
mkdir -p ${prev:h}
|
||||||
@@ -125,10 +126,9 @@ function _per-directory-history-addhistory() {
|
|||||||
if [[ -o share_history ]] || \
|
if [[ -o share_history ]] || \
|
||||||
[[ -o inc_append_history ]] || \
|
[[ -o inc_append_history ]] || \
|
||||||
[[ -o inc_append_history_time ]]; then
|
[[ -o inc_append_history_time ]]; then
|
||||||
fc -AI $HISTFILE
|
fc -AI "$_per_directory_history_global"
|
||||||
fc -AI $_per_directory_history_directory
|
fc -AI $_per_directory_history_directory
|
||||||
fi
|
fi
|
||||||
fc -p $_per_directory_history_directory
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,12 +147,13 @@ function _per-directory-history-precmd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _per-directory-history-set-directory-history() {
|
function _per-directory-history-set-directory-history() {
|
||||||
fc -AI $HISTFILE
|
fc -AI "$_per_directory_history_global"
|
||||||
local original_histsize=$HISTSIZE
|
local original_histsize=$HISTSIZE
|
||||||
HISTSIZE=0
|
HISTSIZE=0
|
||||||
HISTSIZE=$original_histsize
|
HISTSIZE=$original_histsize
|
||||||
if [[ -e "$_per_directory_history_directory" ]]; then
|
if [[ -e "$_per_directory_history_directory" ]]; then
|
||||||
fc -R "$_per_directory_history_directory"
|
fc -R "$_per_directory_history_directory"
|
||||||
|
fc -p "$_per_directory_history_directory"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,8 +162,9 @@ function _per-directory-history-set-global-history() {
|
|||||||
local original_histsize=$HISTSIZE
|
local original_histsize=$HISTSIZE
|
||||||
HISTSIZE=0
|
HISTSIZE=0
|
||||||
HISTSIZE=$original_histsize
|
HISTSIZE=$original_histsize
|
||||||
if [[ -e "$HISTFILE" ]]; then
|
if [[ -e "$_per_directory_history_global" ]]; then
|
||||||
fc -R "$HISTFILE"
|
fc -R "$_per_directory_history_global"
|
||||||
|
fc -p "$_per_directory_history_global"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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`
|
||||||
@@ -29,6 +29,18 @@ plugins=(... pipenv ...)
|
|||||||
- `pvenv` is aliased to `pipenv --venv`
|
- `pvenv` is aliased to `pipenv --venv`
|
||||||
- `ppy` is aliased to `pipenv --py`
|
- `ppy` is aliased to `pipenv --py`
|
||||||
|
|
||||||
|
## Cache
|
||||||
|
|
||||||
|
This plugin caches the Pipenv version to avoid running `pipenv --version` on every shell startup. The cache is automatically refreshed asynchronously when the plugin is loaded, which is usually when you start a new terminal session.
|
||||||
|
|
||||||
|
For legacy Pipenv versions, the generated completion script is also cached.
|
||||||
|
|
||||||
|
The cache is stored at:
|
||||||
|
|
||||||
|
- `$ZSH_CACHE_DIR/pipenv_version` version of Pipenv, used to choose between argcomplete-based completion and legacy Click-based completion.
|
||||||
|
|
||||||
|
- `$ZSH_CACHE_DIR/completions/_pipenv` legacy Click-based completion script.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### Shell activation
|
### Shell activation
|
||||||
|
|||||||
@@ -2,15 +2,49 @@ 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.
|
||||||
|
|
||||||
|
autoload -Uz is-at-least
|
||||||
|
|
||||||
|
_pipenv_version_cache="$ZSH_CACHE_DIR/pipenv_version"
|
||||||
|
|
||||||
|
if [[ -f "$_pipenv_version_cache" ]]; then
|
||||||
|
_pipenv_version="$(< "$_pipenv_version_cache" 2>/dev/null)"
|
||||||
|
else
|
||||||
|
_pipenv_version="${$(pipenv --version 2>/dev/null)#pipenv, version }"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_PIPENV_COMPLETE=zsh_source pipenv >| "$ZSH_CACHE_DIR/completions/_pipenv" &|
|
{
|
||||||
|
_pipenv_fresh_version="${$(pipenv --version 2>/dev/null)#pipenv, version }"
|
||||||
|
[[ -n "$_pipenv_fresh_version" ]] && print -r -- "$_pipenv_fresh_version" >| "$_pipenv_version_cache"
|
||||||
|
} &|
|
||||||
|
|
||||||
|
if is-at-least 2026.5.0 "$_pipenv_version"; then
|
||||||
|
# pipenv >= 2026.5.0: argcomplete-based completion (no legacy fallback)
|
||||||
|
if (( $+commands[register-python-argcomplete] )); then
|
||||||
|
autoload -Uz bashcompinit
|
||||||
|
bashcompinit
|
||||||
|
|
||||||
|
eval "$(register-python-argcomplete pipenv)"
|
||||||
|
fi
|
||||||
|
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 +68,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
|
||||||
|
|||||||
Reference in new issue
Block a user