Split gcc completion to contrib/gcc
This commit is contained in:
parent
1924616663
commit
c601309ae5
1
CHANGES
1
CHANGES
@ -29,6 +29,7 @@ bash-completion (1.x)
|
|||||||
* Split bash builtins completions to contrib/bash-builtins
|
* Split bash builtins completions to contrib/bash-builtins
|
||||||
* Split dpkg-related completions to contrib/dpkg (and re-enable usage
|
* Split dpkg-related completions to contrib/dpkg (and re-enable usage
|
||||||
of grep-status if available)
|
of grep-status if available)
|
||||||
|
* Split gcc completion to contrib/gcc
|
||||||
|
|
||||||
[ Ville Skyttä ]
|
[ Ville Skyttä ]
|
||||||
* Split yum and yum-arch completion into contrib/yum.
|
* Split yum and yum-arch completion into contrib/yum.
|
||||||
|
@ -33,6 +33,7 @@ bashcomp_DATA = contrib/ant \
|
|||||||
contrib/dsniff \
|
contrib/dsniff \
|
||||||
contrib/findutils \
|
contrib/findutils \
|
||||||
contrib/freeciv \
|
contrib/freeciv \
|
||||||
|
contrib/gcc \
|
||||||
contrib/gcl \
|
contrib/gcl \
|
||||||
contrib/gdb \
|
contrib/gdb \
|
||||||
contrib/genisoimage \
|
contrib/genisoimage \
|
||||||
|
@ -1443,58 +1443,6 @@ for i in env netstat seq uname units wget; do
|
|||||||
done
|
done
|
||||||
unset i
|
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
|
# Linux cardctl(8) completion
|
||||||
#
|
#
|
||||||
have cardctl &&
|
have cardctl &&
|
||||||
|
51
contrib/gcc
Normal file
51
contrib/gcc
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user