[csw-devel] SF.net SVN: gar:[4220] csw/mgar/pkg/bash_completion/trunk

chninkel at users.sourceforge.net chninkel at users.sourceforge.net
Tue Apr 7 22:42:11 CEST 2009


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 <yann at opencsw.org>  Sun, 05 Apr 2009 15:32:52 +0200
+   -- Yann Rouillard <yann at 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 <yann at 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.



More information about the devel mailing list