diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 16:24:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 16:24:27 +0000 |
commit | 6c18848a903eb3ee06dccd915859ce64195c257c (patch) | |
tree | ea0fe36eb5e6f40e0a1f765d44c4b0c0b2bfb089 /completions/pkg-config | |
parent | Initial commit. (diff) | |
download | bash-completion-6c18848a903eb3ee06dccd915859ce64195c257c.tar.xz bash-completion-6c18848a903eb3ee06dccd915859ce64195c257c.zip |
Adding upstream version 1:2.11.upstream/1%2.11
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'completions/pkg-config')
-rw-r--r-- | completions/pkg-config | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/completions/pkg-config b/completions/pkg-config new file mode 100644 index 0000000..b9db167 --- /dev/null +++ b/completions/pkg-config @@ -0,0 +1,45 @@ +# 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 word + for word in "${words[@]:1}"; do + if [[ $word != -* ]]; then + COMPREPLY=($(compgen -W \ + '$("$1" $word --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 |