2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2017-10-10 18:07:01 +07:00
|
|
|
# Completion for gem
|
|
|
|
|
2023-02-10 00:38:56 +09:00
|
|
|
function _installcomp {
|
2017-10-10 18:07:01 +07:00
|
|
|
if [ -z "$REMOTE_GEMS" ]
|
|
|
|
then
|
|
|
|
REMOTE_GEMS=( $(gem list --remote --no-versions | tr '\n' ' ') )
|
|
|
|
fi
|
|
|
|
|
|
|
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
|
|
COMPREPLY=( $(compgen -W "${REMOTE_GEMS[*]}" -- $cur) )
|
|
|
|
}
|
|
|
|
|
2023-02-10 00:38:56 +09:00
|
|
|
function _uninstallcomp {
|
2017-10-10 18:07:01 +07:00
|
|
|
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) )
|
|
|
|
}
|
|
|
|
|
2023-02-10 00:38:56 +09:00
|
|
|
function _gem {
|
2017-10-10 18:07:01 +07:00
|
|
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
|
|
|
local prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
|
|
case $prev in
|
|
|
|
install)
|
|
|
|
_installcomp
|
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
uninstall)
|
|
|
|
_uninstallcomp
|
|
|
|
return 0
|
|
|
|
;;
|
|
|
|
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)
|
|
|
|
COMPREPLY=( $(compgen -W "${commands[*]}" -- $cur) )
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _gem gem
|