Merge pull request #1802 from NoahGorny/cleanup/gem-completions
formatted gem completionpull/1799/head
commit
391ce6e91f
|
|
@ -64,6 +64,7 @@ completion/available/conda.completion.bash
|
||||||
completion/available/consul.completion.bash
|
completion/available/consul.completion.bash
|
||||||
completion/available/docker.completion.bash
|
completion/available/docker.completion.bash
|
||||||
completion/available/gcloud.completion.bash
|
completion/available/gcloud.completion.bash
|
||||||
|
completion/available/gem.completion.bash
|
||||||
completion/available/github-cli.completion.bash
|
completion/available/github-cli.completion.bash
|
||||||
completion/available/helm.completion.bash
|
completion/available/helm.completion.bash
|
||||||
completion/available/knife.completion.bash
|
completion/available/knife.completion.bash
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,35 @@
|
||||||
#!/usr/bin/env bash
|
# shellcheck shell=bash
|
||||||
# Completion for gem
|
cite "about-completion"
|
||||||
|
about-completion "gem completion"
|
||||||
_installcomp() {
|
|
||||||
if [ -z "$REMOTE_GEMS" ]
|
|
||||||
then
|
|
||||||
REMOTE_GEMS=( $(gem list --remote --no-versions | tr '\n' ' ') )
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
__gem_completion() {
|
||||||
local cur=${COMP_WORDS[COMP_CWORD]}
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
COMPREPLY=( $(compgen -W "${REMOTE_GEMS[*]}" -- $cur) )
|
local prev=${COMP_WORDS[COMP_CWORD - 1]}
|
||||||
}
|
|
||||||
|
|
||||||
_uninstallcomp() {
|
|
||||||
if [ -z "$LOCAL_GEMS" ]
|
|
||||||
then
|
|
||||||
LOCAL_GEMS=( $(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ') )
|
|
||||||
fi
|
|
||||||
|
|
||||||
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
||||||
COMPREPLY=( $(compgen -W "${LOCAL_GEMS[*]}" -- $cur) )
|
|
||||||
}
|
|
||||||
|
|
||||||
_gem() {
|
|
||||||
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
||||||
local prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
||||||
case $prev in
|
case $prev in
|
||||||
install)
|
install)
|
||||||
_installcomp
|
# list the remote gems and add to completion
|
||||||
|
if [ -z "$REMOTE_GEMS" ]; then
|
||||||
|
read -r -a REMOTE_GEMS <<< "$(gem list --remote --no-versions | sed 's/\*\*\* REMOTE GEMS \*\*\*//' | tr '\n' ' ')"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
# shellcheck disable=SC2207
|
||||||
|
COMPREPLY=($(compgen -W "${REMOTE_GEMS[*]}" -- "$cur"))
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
uninstall)
|
uninstall)
|
||||||
_uninstallcomp
|
# list all local installed gems and add to completion
|
||||||
|
read -r -a LOCAL_GEMS <<< "$(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ')"
|
||||||
|
|
||||||
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
# shellcheck disable=SC2207
|
||||||
|
COMPREPLY=($(compgen -W "${LOCAL_GEMS[*]}" -- "$cur"))
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
local commands=(build cert check cleanup contents dependency environment fetch generate_index help install list lock outdated owner pristine push query rdoc search server sources specification stale uninstall unpack update which)
|
local commands=(build cert check cleanup contents dependency environment fetch generate_index help install list lock outdated owner pristine push query rdoc search server sources specification stale uninstall unpack update which)
|
||||||
COMPREPLY=( $(compgen -W "${commands[*]}" -- $cur) )
|
# shellcheck disable=SC2207
|
||||||
|
COMPREPLY=($(compgen -W "${commands[*]}" -- "$cur"))
|
||||||
}
|
}
|
||||||
|
|
||||||
complete -F _gem gem
|
complete -F __gem_completion gem
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue