Revision: 4220 http://gar.svn.sourceforge.net/gar/?rev=4220&view=rev Author: chninkel Date: 2009-04-07 20:42:11 +0000 (Tue, 07 Apr 2009)
Log Message: ----------- bash_completion: added completion for pkgutil Modified Paths: -------------- csw/mgar/pkg/bash_completion/trunk/checksums csw/mgar/pkg/bash_completion/trunk/files/changelog.CSW Added Paths: ----------- csw/mgar/pkg/bash_completion/trunk/files/pkgutil.completion Modified: csw/mgar/pkg/bash_completion/trunk/checksums =================================================================== --- csw/mgar/pkg/bash_completion/trunk/checksums 2009-04-07 19:49:04 UTC (rev 4219) +++ csw/mgar/pkg/bash_completion/trunk/checksums 2009-04-07 20:42:11 UTC (rev 4220) @@ -1,7 +1,8 @@ cd1c5648272917fbe0eef4ba30bb93f4 download/bash-completion-1.0.tar.gz -2acb33dad8ee4ea46b02f2cd86ced5e1 download/pkg-get.completion -0fcc270cda377374a9637d24c8b689b3 download/pkgadd.completion -7d304567cc880dd42e8ea277c991017f download/pkgrm.completion -cc213a6d8dd2d484f2bce4f7905437f8 download/smf.completion -1745e51815578a18384ff36a449e0002 download/changelog.CSW +5bc234f6060561c564a20d2a9cc552c1 download/pkg-get.completion +af7a63477c6e81ed5b08f195e153091e download/pkgadd.completion +1389a7771e34fc54fe993d442cce1524 download/pkgrm.completion +f922762210a6f208695c328c040ac90d download/pkgutil.completion +52bd6948f5cc1548c3791a969da0e5e2 download/smf.completion +a413f5d9346c32ef22093b55956bd268 download/changelog.CSW d0c0d867babf351bca9ee97e03be550d download/opencsw_paths.patch Modified: csw/mgar/pkg/bash_completion/trunk/files/changelog.CSW =================================================================== --- csw/mgar/pkg/bash_completion/trunk/files/changelog.CSW 2009-04-07 19:49:04 UTC (rev 4219) +++ csw/mgar/pkg/bash_completion/trunk/files/changelog.CSW 2009-04-07 20:42:11 UTC (rev 4220) @@ -1,6 +1,7 @@ -bash_completion (1.0,REV=2009.04.05) +bash_completion (1.0,REV=2009.04.07) * New upstream version. + * Added completion code for pkgutil. * Switched to gar v2. - -- Yann Rouillard <y...@opencsw.org> Sun, 05 Apr 2009 15:32:52 +0200 + -- Yann Rouillard <y...@opencsw.org> Sun, 07 Apr 2009 15:32:52 +0200 Added: csw/mgar/pkg/bash_completion/trunk/files/pkgutil.completion =================================================================== --- csw/mgar/pkg/bash_completion/trunk/files/pkgutil.completion (rev 0) +++ csw/mgar/pkg/bash_completion/trunk/files/pkgutil.completion 2009-04-07 20:42:11 UTC (rev 4220) @@ -0,0 +1,62 @@ +# +# Copyright 2006 Yann Rouillard <y...@opencsw.org> +# All rights reserved. Use is subject to license terms. +# +# Redistribution and/or use, with or without modification, is +# permitted. This code is without warranty of any kind. The +# author(s) shall not be liable in the event that use of the +# software causes damage. +# +# pkgutil.completion - bash completion for pkgutil +# + +have pkgutil && +_pkgutil() +{ + local cur prev file catalog_file url command + local catalog_file="/var/opt/csw/pkgutil/catalog.`uname -p`.`uname -r`" + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + i=${#COMP_WORDS[*]} + while [[ $i -gt 1 ]]; do + i=$((i-1)) + if [[ "${COMP_WORDS[$i]}" = @(-t|--temp) ]]; then + url="${COMP_WORDS[$((i+1))]}" + fi + if [[ "${COMP_WORDS[$i]}" == @(-i|--install|-u|--upgrade|-r|--remove|-d|--download|-a|--available|-c|--compare|-U|--catalog|-S|--stream) ]]; then + command="${COMP_WORDS[$i]}" + fi + done + + if [[ -n "$command" ]]; then + if [[ -f $catalog_file ]]; then + if [[ "$command" == @(--download|-d|--install|-i|--upgrade|-u|s|--stream) ]]; then + local packages_list=$(awk ' $0 ~ /BEGIN PGP SIGNATURE/ { exit } $1 ~ /^Hash:/ || $1 ~ /^ *(-|#|$)/ { next } { print $1 }' $catalog_file) + COMPREPLY=( $(compgen -W "${packages_list}" -- ${cur}) ) + elif [[ "$command" == @(-r|--remove) ]]; then + local packages_list=$(pkginfo | awk ' $2 ~ /^CSW/ { printf ("%s|",$2) }') + packages_list=${packages_list%|} + packages_list=$(nawk " \$3 ~ /^$packages_list\$/ { print \$1 }" $catalog_file) + COMPREPLY=( $(compgen -W "${packages_list}" -- ${cur}) ) + fi + fi + return 0 + fi + + if [[ "$prev" = @(-W|--workdir) ]]; then + COMPREPLY=( $(compgen -d -- ${cur}) ) + return 0 + fi + + if [[ "$prev" = @(-o|--output) ]]; then + COMPREPLY=( $(compgen -f -- ${cur}) ) + return 0 + fi + + local commands="-i --install -u --upgrade -r --remove -d --download -a --available -c --compare -U --catalog -e --email -t --temp=site -s --stream -T --target -o --output -x --exclude -W --workdir -y --yes -n --nomod -D --debug -h --help -v --version -V --syscheck" + COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) ) + return 0 +} && +complete -F _pkgutil pkgutil Property changes on: csw/mgar/pkg/bash_completion/trunk/files/pkgutil.completion ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel