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

David Paleino d.paleino at gmail.com
Fri Jun 5 19:41:46 UTC 2009


The following commit has been merged in the master branch:
commit c601309ae5f3486dea96f6f1483d0831e901cb24
Author: David Paleino <d.paleino at gmail.com>
Date:   Fri Jun 5 21:41:31 2009 +0200

    Split gcc completion to contrib/gcc

diff --git a/CHANGES b/CHANGES
index d80f0b3..e377f1a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -29,6 +29,7 @@ bash-completion (1.x)
   * Split bash builtins completions to contrib/bash-builtins
   * Split dpkg-related completions to contrib/dpkg (and re-enable usage
     of grep-status if available)
+  * Split gcc completion to contrib/gcc
 
   [ Ville Skyttä ]
   * Split yum and yum-arch completion into contrib/yum.
diff --git a/Makefile.am b/Makefile.am
index 3329c50..b7d615c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,6 +33,7 @@ bashcomp_DATA = contrib/ant \
 		contrib/dsniff \
 		contrib/findutils \
 		contrib/freeciv \
+		contrib/gcc \
 		contrib/gcl \
 		contrib/gdb \
 		contrib/genisoimage \
diff --git a/bash_completion b/bash_completion
index a8d67f5..feacb5c 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1443,58 +1443,6 @@ for i in env netstat seq uname units wget; do
 done
 unset i
 
-# gcc(1) completion
-#
-# The only unusual feature is that we don't parse "gcc --help -v" output
-# directly, because that would include the options of all the other backend
-# tools (linker, assembler, preprocessor, etc) without any indication that
-# you cannot feed such options to the gcc driver directly.  (For example, the
-# linker takes a -z option, but you must type -Wl,-z for gcc.)  Instead, we
-# ask the driver ("g++") for the name of the compiler ("cc1"), and parse the
-# --help output of the compiler.
-#
-have gcc &&
-_gcc()
-{
-	local cur cc backend
-
-	COMPREPLY=()
-	cur=`_get_cword`
-
-	_expand || return 0
-
-	case "$1" in
-	gcj)
-		backend=jc1
-		;;
-	gpc)
-		backend=gpc1
-		;;
-	*77)
-		backend=f771
-		;;
-	*)
-		backend=cc1	# (near-)universal backend
-		;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-		cc=$( $1 -print-prog-name=$backend )
-		# sink stderr:
-		# for C/C++/ObjectiveC it's useless
-		# for FORTRAN/Java it's an error
-		COMPREPLY=( $( compgen -W "$( $cc --help 2>/dev/null | \
-			       tr '\t' ' ' | \
-			       sed -e '/^  *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | \
-			       sort -u )" -- $cur ) )
-	else
-		_filedir
-	fi
-} &&
-complete $filenames -F _gcc gcc g++ c++ g77 gcj gpc
-[ $USERLAND = GNU -o $UNAME = Cygwin ] && \
-[ -n "${have:-}" ] && complete $filenames -F _gcc cc
-
 # Linux cardctl(8) completion
 #
 have cardctl &&
diff --git a/contrib/gcc b/contrib/gcc
new file mode 100644
index 0000000..42bcb60
--- /dev/null
+++ b/contrib/gcc
@@ -0,0 +1,51 @@
+# gcc(1) completion
+#
+# The only unusual feature is that we don't parse "gcc --help -v" output
+# directly, because that would include the options of all the other backend
+# tools (linker, assembler, preprocessor, etc) without any indication that
+# you cannot feed such options to the gcc driver directly.  (For example, the
+# linker takes a -z option, but you must type -Wl,-z for gcc.)  Instead, we
+# ask the driver ("g++") for the name of the compiler ("cc1"), and parse the
+# --help output of the compiler.
+#
+have gcc &&
+_gcc()
+{
+	local cur cc backend
+
+	COMPREPLY=()
+	cur=`_get_cword`
+
+	_expand || return 0
+
+	case "$1" in
+	gcj)
+		backend=jc1
+		;;
+	gpc)
+		backend=gpc1
+		;;
+	*77)
+		backend=f771
+		;;
+	*)
+		backend=cc1	# (near-)universal backend
+		;;
+	esac
+
+	if [[ "$cur" == -* ]]; then
+		cc=$( $1 -print-prog-name=$backend )
+		# sink stderr:
+		# for C/C++/ObjectiveC it's useless
+		# for FORTRAN/Java it's an error
+		COMPREPLY=( $( compgen -W "$( $cc --help 2>/dev/null | \
+			       tr '\t' ' ' | \
+			       sed -e '/^  *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | \
+			       sort -u )" -- $cur ) )
+	else
+		_filedir
+	fi
+} &&
+complete $filenames -F _gcc gcc g++ c++ g77 gcj gpc
+[ $USERLAND = GNU -o $UNAME = Cygwin ] && \
+[ -n "${have:-}" ] && complete $filenames -F _gcc cc

-- 
bash-completion



More information about the Bash-completion-commits mailing list