]>
Commit | Line | Data |
---|---|---|
5b8f2ffc | 1 | # builder(1) completion |
329e9cf2 | 2 | |
d98fe2df ER |
3 | # retrieve branches from current spec |
4 | _builder_spec_branches() { | |
5 | local cur="$1" spec="$2" res | |
6 | res=$(cvs status -v "$spec" | awk 'NF==3 && /branch:/{print $1}') | |
7 | COMPREPLY=( $( compgen -W "$res" -- "$cur" ) ) | |
8 | } | |
9 | ||
5b8f2ffc ER |
10 | _builder() |
11 | { | |
12 | local cur prev first | |
13 | ||
14 | COMPREPLY=() | |
329e9cf2 | 15 | cur=`_get_cword` |
5b8f2ffc ER |
16 | prev=${COMP_WORDS[COMP_CWORD-1]} |
17 | ||
329e9cf2 ER |
18 | case "$prev" in |
19 | -@(g|--get)) | |
20 | _filedir | |
21 | return 0 | |
5b8f2ffc | 22 | ;; |
d98fe2df ER |
23 | -r) |
24 | local spec=*.spec | |
25 | _builder_spec_branches "$cur" "$spec" | |
26 | return 0 | |
27 | ;; | |
329e9cf2 ER |
28 | --with|--without) |
29 | ./builder --show-avail-bconds automake.spec | |
30 | return 0 | |
31 | ;; | |
32 | esac | |
5b8f2ffc | 33 | |
329e9cf2 ER |
34 | if [[ "$cur" == -* ]]; then |
35 | COMPREPLY=( $( compgen -W ' | |
36 | -5 -a5 -n5 -D -V -a -b -ba -bb -bp -bc -bi -bl -bs -B -c -cf -d -g | |
37 | -h -l -m -nc -ncs -nd -nm -nu -ns -ns0 -nn -ske -q -r -A -R -RB | |
38 | -FRB -sd -sdp -sf -sp -su -T -Tvs -Ts -Tv -Tp -tt -ir -v -u -un | |
39 | -U -Upi -np | |
40 | --with --without | |
41 | ' -- $cur ) ) | |
42 | else | |
43 | # find which specfile to use | |
44 | specfile= | |
45 | for (( i=1; i < COMP_CWORD; i++ )); do | |
46 | if [[ "${COMP_WORDS[i]}" == -@(?(build)file|f) ]]; then | |
47 | specfile=${COMP_WORDS[i+1]} | |
48 | break | |
49 | fi | |
50 | done | |
51 | [ ! -f $specfile ] && return 0 | |
5b8f2ffc ER |
52 | fi |
53 | ||
5b8f2ffc ER |
54 | return 0 |
55 | } | |
56 | #complete -F _builder builder |