From e380f396cf4a369d560073010f4aa58314893b98 Mon Sep 17 00:00:00 2001 From: Eric Bélanger Date: Sat, 12 Feb 2011 11:55:28 -0500 Subject: Added bash_completion file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eric Bélanger Signed-off-by: Pierre Schmitz --- Makefile | 2 ++ bash_completion | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 bash_completion diff --git a/Makefile b/Makefile index e74308a..5287209 100644 --- a/Makefile +++ b/Makefile @@ -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 -- cgit v1.2.3-70-g09d2