blob: de986e0842d368723c4310e0e70b148afd1a2416 [file] [log] [blame]
Mark Szymanskif6950f92011-06-29 11:33:39 -05001#!/usr/bin/env bash
2# Completion for gem
3
Mark Szymanskif6950f92011-06-29 11:33:39 -05004_installcomp() {
Victor Castell484c57b2011-07-25 13:47:03 +02005 if [ -z "$REMOTE_GEMS" ]
6 then
7 REMOTE_GEMS=( $(gem list --remote --no-versions | tr '\n' ' ') )
8 fi
9
Mark Szymanskif6950f92011-06-29 11:33:39 -050010 local cur=${COMP_WORDS[COMP_CWORD]}
11 COMPREPLY=( $(compgen -W "${REMOTE_GEMS[*]}" -- $cur) )
12}
13
14_uninstallcomp() {
Victor Castell484c57b2011-07-25 13:47:03 +020015 if [ -z "$LOCAL_GEMS" ]
16 then
17 LOCAL_GEMS=( $(gem list --no-versions | sed 's/\*\*\* LOCAL GEMS \*\*\*//' | tr '\n' ' ') )
18 fi
19
Mark Szymanskif6950f92011-06-29 11:33:39 -050020 local cur=${COMP_WORDS[COMP_CWORD]}
21 COMPREPLY=( $(compgen -W "${LOCAL_GEMS[*]}" -- $cur) )
22}
23
24_gem() {
25 local cur=${COMP_WORDS[COMP_CWORD]}
26 local prev=${COMP_WORDS[COMP_CWORD-1]}
27 case $prev in
28 install)
29 _installcomp
30 return 0
31 ;;
32 uninstall)
33 _uninstallcomp
34 return 0
35 ;;
36 esac
37 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)
38 COMPREPLY=( $(compgen -W "${commands[*]}" -- $cur) )
39}
40
41complete -F _gem gem