Skip to content

Instantly share code, notes, and snippets.

@pager
Created September 21, 2009 10:07
Show Gist options
  • Save pager/190171 to your computer and use it in GitHub Desktop.
Save pager/190171 to your computer and use it in GitHub Desktop.
_gem()
{
if [[ -z $__gem_commands ]] ; then
__gem_commands=$(gem help commands | grep '^ [a-z]' | cut -d " " -f 5)
fi
local cur prev opts base
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case "${prev}" in
open|read)
if [[ -z $__installed_gems ]] ; then
__installed_gems=$(gem list | grep '^[A-Za-z]' | cut -d " " -f 1)
fi
COMPREPLY=($(compgen -W "${__installed_gems}" -- ${cur}))
return 0;
;;
gem)
;;
*)
COMPREPLY=($(compgen -o default))
return 0;
;;
esac
COMPREPLY=($(compgen -W "${__gem_commands}" -- ${cur}))
return 0;
}
complete -F _gem gem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment