diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2011-10-14 09:33:07 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-10-14 09:33:07 +0200 |
commit | b06b9f60109ad152e8a6ce8c20f9266648d9d70f (patch) | |
tree | 65199dc8d398671431f0fa5af6b65325dacde09e /bash_completion.in | |
parent | 9715ddbe9df6e7a2a37a11c4f3e90a5446459217 (diff) | |
parent | a0c6bf4556e211037b9d9d6de3fd17f798a3c1fb (diff) | |
download | devtools-b06b9f60109ad152e8a6ce8c20f9266648d9d70f.tar.xz |
Merge remote-tracking branch 'cryptocrack/for-pierre'
Diffstat (limited to 'bash_completion.in')
-rw-r--r-- | bash_completion.in | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/bash_completion.in b/bash_completion.in new file mode 100644 index 0000000..cd959fc --- /dev/null +++ b/bash_completion.in @@ -0,0 +1,69 @@ +_devtools_compgen() { + local i r + COMPREPLY=($(compgen -W '$*' -- "$cur")) + for ((i=1; i < ${#COMP_WORDS[@]}-1; i++)); do + for r in ${!COMPREPLY[@]}; do + if [[ ${COMP_WORDS[i]} = ${COMPREPLY[r]} ]]; then + unset 'COMPREPLY[r]'; break + fi + done + done +} + +_archco_pkg() { + _devtools_compgen "$( + \pacman -$1 + )" +} + +_archco() { + local cur prev + COMPREPLY=() + cur=$(_get_cword) + prev=${COMP_WORDS[COMP_CWORD-1]} + + _archco_pkg Slq + true +} && +complete -F _archco archco communityco + +_makechrootpkg() { + local cur + COMPREPLY=() + _get_comp_words_by_ref cur + + case $cur in + -*) + COMPREPLY=( $( compgen -W '-I -c -d -h -l -r -u' -- "$cur" ) ) + ;; + *) + _filedir + return 0 + ;; + esac + + true +} && +complete -F _makechrootpkg makechrootpkg + +_mkarchroot() { + local cur + COMPREPLY=() + _get_comp_words_by_ref cur + + case $cur in + -*) + COMPREPLY=( $( compgen -W '-C -M -c -f -h -n -r -u' -- "$cur" ) ) + ;; + *) + _filedir + return 0 + ;; + esac + + true +} && +complete -F _mkarchroot mkarchroot + + +# ex:et ts=2 sw=2 ft=sh |