# bash completion for pkgconfig -*- shell-script -*- _pkg_config() { local cur prev words cword split _init_completion -s || return case $prev in --define-variable|--atleast-version|--atleast-pkgconfig-version| \ --exact-version|--max-version) # 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 ;; -\?|--help|--version|--usage) # all other arguments are noop with these return 0 ;; esac $split && return 0 if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) [[ $COMPREPLY == *= ]] && compopt -o nospace else COMPREPLY=( $( compgen -W "$( pkg-config --list-all \ 2>/dev/null | awk '{print $1}' )" -- "$cur" ) ) fi } && complete -F _pkg_config pkg-config # ex: ts=4 sw=4 et filetype=sh