45 lines
1.3 KiB
Plaintext
Raw Normal View History

# bash completion for pkgconfig -*- shell-script -*-
2009-05-17 22:07:02 +02:00
_pkg_config()
{
local cur prev words cword split
_init_completion -s || return
2009-10-04 19:42:50 +02:00
case $prev in
--define-variable|--atleast-version|--atleast-pkgconfig-version| \
--exact-version|--max-version)
2009-10-04 19:42:50 +02:00
# argument required but no completions available
return 0
;;
--variable)
local i
for (( i=1; i < ${#words[@]}; i++ )); do
if [[ ${words[i]} != -* ]]; then
COMPREPLY=( $( compgen -W \
'$( "$1" ${words[i]} --print-variables 2>/dev/null )' \
-- "$cur" ) )
break
fi
done
return 0
;;
2009-10-04 19:42:50 +02:00
-\?|--help|--version|--usage)
# all other arguments are noop with these
return 0
;;
esac
2009-10-04 19:42:50 +02:00
$split && return 0
2009-05-17 22:07:02 +02:00
2009-10-04 19:42:50 +02:00
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
2009-10-04 19:42:50 +02:00
else
COMPREPLY=( $( compgen -W "$( pkg-config --list-all \
2>/dev/null | awk '{print $1}' )" -- "$cur" ) )
fi
2009-05-17 22:07:02 +02:00
} &&
complete -F _pkg_config pkg-config
2009-10-04 19:42:50 +02:00
# ex: ts=4 sw=4 et filetype=sh