52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
|
# bash completion for pkgconfig
|
||
|
|
||
|
have pkg-config &&
|
||
|
_pkg_config()
|
||
|
{
|
||
|
local cur prev split=false
|
||
|
|
||
|
COMPREPLY=()
|
||
|
_get_comp_words_by_ref cur prev
|
||
|
|
||
|
_split_longopt && split=true
|
||
|
|
||
|
case $prev in
|
||
|
--variable|--define-variable|--atleast-version|--atleast-pkgconfig-version| \
|
||
|
--exact-version|--max-version)
|
||
|
# argument required but no completions available
|
||
|
return 0
|
||
|
;;
|
||
|
-\?|--help|--version|--usage)
|
||
|
# all other arguments are noop with these
|
||
|
return 0
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
$split && return 0
|
||
|
|
||
|
if [[ "$cur" == -* ]]; then
|
||
|
# return list of available options
|
||
|
COMPREPLY=( $( compgen -W '--version --modversion \
|
||
|
--atleast-pkgconfig-version --libs --static \
|
||
|
--short-errors --libs-only-l --libs-only-other \
|
||
|
--libs-only-L --cflags --cflags-only-I \
|
||
|
--cflags-only-other --variable --define-variable \
|
||
|
--exists --uninstalled --atleast-version \
|
||
|
--exact-version --max-version --list-all --debug \
|
||
|
--print-errors --silence-errors --errors-to-stdout \
|
||
|
--print-provides --print-requires --help --usage' -- "$cur") )
|
||
|
else
|
||
|
COMPREPLY=( $( compgen -W "$( pkg-config --list-all \
|
||
|
2>/dev/null | awk '{print $1}' )" -- "$cur" ) )
|
||
|
fi
|
||
|
} &&
|
||
|
complete -F _pkg_config pkg-config
|
||
|
|
||
|
# Local variables:
|
||
|
# mode: shell-script
|
||
|
# sh-basic-offset: 4
|
||
|
# sh-indent-comment: t
|
||
|
# indent-tabs-mode: nil
|
||
|
# End:
|
||
|
# ex: ts=4 sw=4 et filetype=sh
|