diff options
author | Eric Bélanger <snowmaniscool@gmail.com> | 2011-02-12 11:55:28 -0500 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-04-29 21:18:21 +0200 |
commit | e380f396cf4a369d560073010f4aa58314893b98 (patch) | |
tree | 0f7c414f77a3a90ed80c927ae901e978f69f33b9 | |
parent | d187cdbc386165383bbc900a9e984c770ba2e557 (diff) |
Added bash_completion file
Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com>
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | bash_completion | 69 |
2 files changed, 71 insertions, 0 deletions
@@ -57,6 +57,7 @@ install: install -m0644 ${CONFIGFILES} $(DESTDIR)/usr/share/devtools for l in ${COMMITPKG_LINKS}; do ln -sf commitpkg $(DESTDIR)/usr/bin/$$l; done for l in ${ARCHBUILD_LINKS}; do ln -sf archbuild $(DESTDIR)/usr/bin/$$l; done + install -Dm0644 bash_completion $(DESTDIR)/etc/bash_completion.d/devtools uninstall: for f in ${BINPROGS}; do rm -f $(DESTDIR)/usr/bin/$$f; done @@ -64,6 +65,7 @@ uninstall: for f in ${CONFIGFILES}; do rm -f $(DESTDIR)/usr/share/devtools/$$f; done for l in ${COMMITPKG_LINKS}; do rm -f $(DESTDIR)/usr/bin/$$l; done for l in ${ARCHBUILD_LINKS}; do rm -f $(DESTDIR)/usr/bin/$$l; done + rm $(DESTDIR)/etc/bash_completion.d/devtools dist: git archive --format=tar --prefix=devtools-$(V)/ $(V) | gzip -9 > devtools-$(V).tar.gz diff --git a/bash_completion b/bash_completion new file mode 100644 index 0000000..cd959fc --- /dev/null +++ b/bash_completion @@ -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 |