# 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 ;; --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 ;; -\?|--help|--version|--usage) # all other arguments are noop with these return ;; esac $split && return if [[ "$cur" == -* ]]; then COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) [[ $COMPREPLY == *= ]] && compopt -o nospace else COMPREPLY=( $(compgen -W "$($1 --list-all \ 2>/dev/null | awk '{print $1}')" -- "$cur") ) _filedir pc fi } && complete -F _pkg_config pkg-config # ex: filetype=sh