mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-12 20:21:02 +01:00
refactor(gem): favor built-in zsh completion for gem
(#12576)
Completion for `gem` was included in zsh 5.5 and newer. This change
only uses the Oh My Zsh one if running an older version.
Reference: 9881778d48
This commit is contained in:
parent
25836e227c
commit
a2bf5c7b99
2 changed files with 26 additions and 1 deletions
|
@ -5,3 +5,28 @@ alias gemp="gem push *.gem"
|
||||||
function gemy {
|
function gemy {
|
||||||
gem yank $1 -v $2
|
gem yank $1 -v $2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `gem`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_gem" ]]; then
|
||||||
|
typeset -g -A _comps
|
||||||
|
autoload -Uz _gem
|
||||||
|
_comps[docker]=_gem
|
||||||
|
fi
|
||||||
|
|
||||||
|
# zsh 5.5 already provides completion for `_gem`. With this we ensure that
|
||||||
|
# our provided completion (which is not optimal but is enough in most cases)
|
||||||
|
# is used for older versions
|
||||||
|
autoload -Uz is-at-least
|
||||||
|
if is-at-least 5.5; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
{
|
||||||
|
# Standarized $0 handling
|
||||||
|
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||||
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
|
|
||||||
|
command cp -f "${0:h}/completions/_gem" "$ZSH_CACHE_DIR/completions/_gem"
|
||||||
|
} &|
|
||||||
|
|
Loading…
Reference in a new issue