mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 13:50:09 +00:00
refactor(plugins): generate completion functions in the background
This commit is contained in:
parent
c06197ad95
commit
49bae43f62
5 changed files with 57 additions and 62 deletions
|
@ -7,7 +7,7 @@ print ${(%):-'Please update your .zshrc to use the `%Brust%b` plugin instead.%f'
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
# Remove old generated completion file
|
# Remove old generated completion file
|
||||||
command rm -f "${0:A:h}/_cargo"
|
command rm -f "${0:A:h}/_cargo" "$ZSH_CACHE_DIR/cargo_version"
|
||||||
|
|
||||||
(( ${fpath[(Ie)$ZSH/plugins/rust]} )) || {
|
(( ${fpath[(Ie)$ZSH/plugins/rust]} )) || {
|
||||||
fpath=("$ZSH/plugins/rust" $fpath)
|
fpath=("$ZSH/plugins/rust" $fpath)
|
||||||
|
|
|
@ -12,30 +12,29 @@ alias dts='deno test'
|
||||||
alias dup='deno upgrade'
|
alias dup='deno upgrade'
|
||||||
|
|
||||||
# COMPLETION FUNCTION
|
# COMPLETION FUNCTION
|
||||||
if (( $+commands[deno] )); then
|
if (( ! $+commands[deno] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TODO: 2021-12-28: remove this block
|
||||||
# Handle $0 according to the standard:
|
# Handle $0 according to the standard:
|
||||||
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
|
# Remove old generated files
|
||||||
|
command rm -f "${0:A:h}/_deno" "$ZSH_CACHE_DIR/deno_version"
|
||||||
|
|
||||||
# remove old generated completion file
|
# TODO: 2021-12-28: remove this bit of code as it exists in oh-my-zsh.sh
|
||||||
command rm -f "${0:A:h}/_deno"
|
# Add completions folder in $ZSH_CACHE_DIR
|
||||||
|
command mkdir -p "$ZSH_CACHE_DIR/completions"
|
||||||
ver="$(deno --version)"
|
(( ${fpath[(Ie)"$ZSH_CACHE_DIR/completions"]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
||||||
ver_file="$ZSH_CACHE_DIR/deno_version"
|
|
||||||
comp_file="$ZSH_CACHE_DIR/completions/_deno"
|
|
||||||
|
|
||||||
mkdir -p "${comp_file:h}"
|
|
||||||
(( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
|
|
||||||
|
|
||||||
if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
|
|
||||||
deno completions zsh >| "$comp_file"
|
|
||||||
echo "$ver" >| "$ver_file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `deno`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_deno" ]]; then
|
||||||
declare -A _comps
|
declare -A _comps
|
||||||
autoload -Uz _deno
|
autoload -Uz _deno
|
||||||
_comps[deno]=_deno
|
_comps[deno]=_deno
|
||||||
|
|
||||||
unset ver ver_file comp_file
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
deno completions zsh >| "$ZSH_CACHE_DIR/completions/_deno" &|
|
||||||
|
|
|
@ -1,28 +1,26 @@
|
||||||
if (( $+commands[fnm] )); then
|
if (( ! $+commands[fnm] )); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TODO: 2021-12-28: remove this block
|
||||||
# Handle $0 according to the standard:
|
# Handle $0 according to the standard:
|
||||||
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
|
# remove old generated files
|
||||||
|
command rm -f "${0:A:h}/_fnm" "$ZSH_CACHE_DIR/fnm_version"
|
||||||
|
|
||||||
# remove old generated completion file
|
# TODO: 2021-12-28: remove this bit of code as it exists in oh-my-zsh.sh
|
||||||
command rm -f "${0:A:h}/_fnm"
|
# Add completions folder in $ZSH_CACHE_DIR
|
||||||
|
command mkdir -p "$ZSH_CACHE_DIR/completions"
|
||||||
ver="$(fnm --version)"
|
(( ${fpath[(Ie)"$ZSH_CACHE_DIR/completions"]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
||||||
ver_file="$ZSH_CACHE_DIR/fnm_version"
|
|
||||||
comp_file="$ZSH_CACHE_DIR/completions/_fnm"
|
|
||||||
|
|
||||||
mkdir -p "${comp_file:h}"
|
|
||||||
(( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
|
|
||||||
|
|
||||||
if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
|
|
||||||
fnm completions --shell=zsh >| "$comp_file"
|
|
||||||
echo "$ver" >| "$ver_file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `fnm`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_fnm" ]]; then
|
||||||
declare -A _comps
|
declare -A _comps
|
||||||
autoload -Uz _fnm
|
autoload -Uz _fnm
|
||||||
_comps[fnm]=_fnm
|
_comps[fnm]=_fnm
|
||||||
|
|
||||||
unset ver ver_file comp_file
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
fnm completions --shell=zsh >| "$ZSH_CACHE_DIR/completions/_fnm" &|
|
||||||
|
|
|
@ -1,29 +1,27 @@
|
||||||
# Autocompletion for the GitHub CLI (gh).
|
# Autocompletion for the GitHub CLI (gh).
|
||||||
if (( $+commands[gh] )); then
|
if (( ! $+commands[gh] )); then
|
||||||
# Handle $0 according to the standard:
|
return
|
||||||
# # https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
|
||||||
|
|
||||||
# remove old generated completion file
|
|
||||||
command rm -f "${0:A:h}/_gh"
|
|
||||||
|
|
||||||
ver="$(gh --version)"
|
|
||||||
ver_file="$ZSH_CACHE_DIR/gh_version"
|
|
||||||
comp_file="$ZSH_CACHE_DIR/completions/_gh"
|
|
||||||
|
|
||||||
mkdir -p "${comp_file:h}"
|
|
||||||
(( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
|
|
||||||
|
|
||||||
if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
|
|
||||||
gh completion --shell zsh >| "$comp_file"
|
|
||||||
echo "$ver" >| "$ver_file"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# TODO: 2021-12-28: remove this block
|
||||||
|
# Handle $0 according to the standard:
|
||||||
|
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
||||||
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
|
# Remove old generated files
|
||||||
|
command rm -f "${0:A:h}/_gh" "$ZSH_CACHE_DIR/gh_version"
|
||||||
|
|
||||||
|
# TODO: 2021-12-28: remove this bit of code as it exists in oh-my-zsh.sh
|
||||||
|
# Add completions folder in $ZSH_CACHE_DIR
|
||||||
|
command mkdir -p "$ZSH_CACHE_DIR/completions"
|
||||||
|
(( ${fpath[(Ie)"$ZSH_CACHE_DIR/completions"]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
|
||||||
|
|
||||||
|
# If the completion file doesn't exist yet, we need to autoload it and
|
||||||
|
# bind it to `gh`. Otherwise, compinit will have already done that.
|
||||||
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_gh" ]]; then
|
||||||
declare -A _comps
|
declare -A _comps
|
||||||
autoload -Uz _gh
|
autoload -Uz _gh
|
||||||
_comps[gh]=_gh
|
_comps[gh]=_gh
|
||||||
|
|
||||||
unset ver ver_file comp_file
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
gh completion --shell zsh >| "$ZSH_CACHE_DIR/completions/_gh" &|
|
||||||
|
|
|
@ -7,7 +7,7 @@ print ${(%):-'Please update your .zshrc to use the `%Brust%b` plugin instead.%f'
|
||||||
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
|
||||||
0="${${(M)0:#/*}:-$PWD/$0}"
|
0="${${(M)0:#/*}:-$PWD/$0}"
|
||||||
# Remove old generated completion file
|
# Remove old generated completion file
|
||||||
command rm -f "${0:A:h}/_rustup"
|
command rm -f "${0:A:h}/_rustup" "$ZSH_CACHE_DIR/rustup_version"
|
||||||
|
|
||||||
(( ${fpath[(Ie)$ZSH/plugins/rust]} )) || {
|
(( ${fpath[(Ie)$ZSH/plugins/rust]} )) || {
|
||||||
fpath=("$ZSH/plugins/rust" $fpath)
|
fpath=("$ZSH/plugins/rust" $fpath)
|
||||||
|
|
Loading…
Reference in a new issue