summaryrefslogtreecommitdiff
path: root/completions/pkg-config
diff options
context:
space:
mode:
authorDavid Paleino <dapal@debian.org>2011-02-06 21:26:41 +0100
committerDavid Paleino <dapal@debian.org>2011-02-06 21:26:41 +0100
commit9920a8faedf704420571d8072ccab27e9dac40ba (patch)
tree733edf3b07be06c130d04aaa1884213326722cad /completions/pkg-config
parentf9748115fb4b2950fb4df7535fb723c4affde078 (diff)
downloadbash-completion-9920a8faedf704420571d8072ccab27e9dac40ba.tar.gz
Imported Upstream version 1.3upstream/1.3
Diffstat (limited to 'completions/pkg-config')
-rw-r--r--completions/pkg-config51
1 files changed, 51 insertions, 0 deletions
diff --git a/completions/pkg-config b/completions/pkg-config
new file mode 100644
index 00000000..b999bd81
--- /dev/null
+++ b/completions/pkg-config
@@ -0,0 +1,51 @@
+# 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