[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