Refactored gem completion to load gem lists on demand intead of on load
This commit is contained in:
@@ -1,22 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Completion for gem
|
# Completion for gem
|
||||||
|
|
||||||
|
_installcomp() {
|
||||||
if [ -z "$REMOTE_GEMS" ]
|
if [ -z "$REMOTE_GEMS" ]
|
||||||
then
|
then
|
||||||
REMOTE_GEMS=( $(gem list --remote --no-versions | tr '\n' ' ') )
|
REMOTE_GEMS=( $(gem list --remote --no-versions | tr '\n' ' ') )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$LOCAL_GEMS" ]
|
|
||||||
then
|
|
||||||
LOCAL_GEMS=( $(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ') )
|
|
||||||
fi
|
|
||||||
|
|
||||||
_installcomp() {
|
|
||||||
local cur=${COMP_WORDS[COMP_CWORD]}
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
COMPREPLY=( $(compgen -W "${REMOTE_GEMS[*]}" -- $cur) )
|
COMPREPLY=( $(compgen -W "${REMOTE_GEMS[*]}" -- $cur) )
|
||||||
}
|
}
|
||||||
|
|
||||||
_uninstallcomp() {
|
_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]}
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
COMPREPLY=( $(compgen -W "${LOCAL_GEMS[*]}" -- $cur) )
|
COMPREPLY=( $(compgen -W "${LOCAL_GEMS[*]}" -- $cur) )
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user