# 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