[Bash-completion-commits] [SCM] bash-completion branch, master, updated. cb8c77011ee2bf38f60f2a906a75e25f656f35fa
Ville Skyttä
ville.skytta at iki.fi
Mon Jun 8 18:11:44 UTC 2009
The following commit has been merged in the master branch:
commit cb8c77011ee2bf38f60f2a906a75e25f656f35fa
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Mon Jun 8 21:11:39 2009 +0300
Use _split_longopt in pkg-config completion, some trivial improvements.
diff --git a/CHANGES b/CHANGES
index 0693df6..4e99a90 100644
--- a/CHANGES
+++ b/CHANGES
@@ -64,8 +64,8 @@ bash-completion (1.x)
* Add _split_longopt() helper for improved handling of long options that
take arguments in both "--foo bar" and "--foo=bar" formats.
* Use _split_longopt to improve and clean up aspell, chgrp, chown, chkconfig,
- cpio, dpkg, iptables, make, mc, mii-diag, mii-tool, mkinitrd, postgresql,
- quota, samba, smartctl, and generic long option completion
+ cpio, dpkg, iptables, make, mc, mii-diag, mii-tool, mkinitrd, pkg-config,
+ postgresql, quota, samba, smartctl, and generic long option completion
(Alioth: #311398).
* Add chown --from and --reference value completions.
* Add chgrp --reference value completion.
diff --git a/contrib/pkg-config b/contrib/pkg-config
index e9ac869..8d96031 100644
--- a/contrib/pkg-config
+++ b/contrib/pkg-config
@@ -6,21 +6,39 @@
have pkg-config &&
_pkg_config()
{
- local cur
+ local cur prev split=false
COMPREPLY=()
cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ _split_longopt && split=true
+
+ case $prev in
+ --@(?(define-)variable|@(atleast?(-pkgconfig)|exact|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 --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 -? --help --usage' -- $cur))
+ 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 ) )
--
bash-completion
More information about the Bash-completion-commits
mailing list