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

Reply via email to