[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b3f8e617ac7569a4c6bd3f3f6e6e3bc51d61d3f4

Guillaume Rousse guillomovitch at zarb.org
Fri May 29 07:57:28 UTC 2009


The following commit has been merged in the master branch:
commit 82e0b04591986db41a0edef290c69656a6bd5879
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date:   Wed May 27 19:01:26 2009 +0200

    split info completion

diff --git a/Makefile.am b/Makefile.am
index 75cfb10..6cf11d2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,6 +35,7 @@ bashcomp_DATA = contrib/ant \
 		contrib/harbour \
 		contrib/heimdal \
 		contrib/imagemagick \
+		contrib/info \
 		contrib/iptables \
 		contrib/isql \
 		contrib/java \
diff --git a/bash_completion b/bash_completion
index 6dd5bdf..cc67fae 100644
--- a/bash_completion
+++ b/bash_completion
@@ -3821,57 +3821,6 @@ _cancel()
 } &&
 complete -F _cancel $filenames cancel
 
-# info(1) completion
-#
-have info &&
-_info()
-{
-	local cur infopath
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_expand || return 0
-
-	# default completion if parameter contains /
-	if [[ "$cur" == */* ]]; then
-		_filedir
-		return 0
-	fi
-
-	infopath='/usr/share/info'
-
-	if [ "${INFOPATH: -1:1}" == ':' ]; then
-		infopath=${INFOPATH}${infopath}
-	elif [ ${INFOPATH:+set} ]; then
-		infopath=$INFOPATH
-	fi
-
-	infopath=$infopath:
-	if [ -n "$cur" ]; then
-		infopath="${infopath//://$cur* }"
-	else
-		infopath="${infopath//:// }"
-	fi
-
-	# redirect stderr for when path doesn't exist
-	COMPREPLY=( $( eval command ls "$infopath" 2>/dev/null ) )
-	# weed out directory path names and paths to info pages
-	COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
-	# weed out info dir file
-	for (( i=0 ; i < ${#COMPREPLY[@]} ; ++i )); do
-		if [ "${COMPREPLY[$i]}" == 'dir' ]; then
-			unset COMPREPLY[$i];
-		fi;
-	done
-	# strip suffix from info pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
-	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
-
-	return 0
-} &&
-complete -F _info $filenames info
-
 # id(1) completion
 #
 have id &&
diff --git a/contrib/info b/contrib/info
new file mode 100644
index 0000000..745d3e1
--- /dev/null
+++ b/contrib/info
@@ -0,0 +1,53 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for info
+
+have info &&
+_info()
+{
+	local cur infopath
+
+	COMPREPLY=()
+	cur=`_get_cword`
+
+	_expand || return 0
+
+	# default completion if parameter contains /
+	if [[ "$cur" == */* ]]; then
+		_filedir
+		return 0
+	fi
+
+	infopath='/usr/share/info'
+
+	if [ "${INFOPATH: -1:1}" == ':' ]; then
+		infopath=${INFOPATH}${infopath}
+	elif [ ${INFOPATH:+set} ]; then
+		infopath=$INFOPATH
+	fi
+
+	infopath=$infopath:
+	if [ -n "$cur" ]; then
+		infopath="${infopath//://$cur* }"
+	else
+		infopath="${infopath//:// }"
+	fi
+
+	# redirect stderr for when path doesn't exist
+	COMPREPLY=( $( eval command ls "$infopath" 2>/dev/null ) )
+	# weed out directory path names and paths to info pages
+	COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
+	# weed out info dir file
+	for (( i=0 ; i < ${#COMPREPLY[@]} ; ++i )); do
+		if [ "${COMPREPLY[$i]}" == 'dir' ]; then
+			unset COMPREPLY[$i];
+		fi;
+	done
+	# strip suffix from info pages
+	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
+	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
+
+	return 0
+} &&
+complete -F _info $filenames info

-- 
bash-completion



More information about the Bash-completion-commits mailing list