diff -Nau /usr/share/zsh/site-functions/_gentoolkit ./site-functions/_gentoolkit --- /usr/share/zsh/site-functions/_gentoolkit 2005-05-01 23:31:19.000000000 +0200 +++ ./site-functions/_gentoolkit 2005-05-02 18:09:02.000000000 +0200 @@ -1,4 +1,4 @@ -#compdef gensync equery qpkg +#compdef gensync equery qpkg euse # Author: oberyno @@ -61,6 +61,43 @@ "(--info -i --query-deps -q --slot -s)1:package:_gentoo_packages installed_versions" ;; +euse) + local state tmp start_args suboptions_args + start_args=( + {'(--help)-h','(-h)--help'}'[show help]' + {'(--version)-v','(-v)--version'}'[show version]' + {'(--info)-i','(-i)--info'}'[show descriptions for the given useflags]' + {'(--active)-a','(-a)--active'}'[show currently active useflags and their origin]' + {'(--enable)-E','(-E)--enable'}'[enable the given useflags]' + {'(--disable)-D','(-D)--disable'}'[disable the given useflags]' + {'(--prune)-P','(-P)--prune'}'[show version]' + ) + suboptions_args=( + {'(--global)-g','(-g)--global'}'[show only global use flags]' + {'(--local)-l','(-l)--local'}'[show only local use flags]' + ) + if (( CURRENT == 2 ));then + _arguments -s $start_args + elif (( CURRENT == 3 ));then + case "$words[2]" in + -i|--info|-a|--active) + _arguments -s $suboptions_args \ + '*:useflags:_gentoo_packages useflag' && ret=0 + ;; + -E|--enable) + _arguments \ + '*:useflags:_gentoo_packages useflag' && ret=0 + ;; + -D|--disable) + _arguments \ + '*:active useflags:_gentoo_packages active_useflag' && ret=0 + esac + else + _arguments \ + '*:useflag:_gentoo_packages useflag' && ret=0 + fi +;; + equery) # Based off of X/_xauth. local state context line expl ret=1 @@ -70,6 +107,7 @@ {'(--nocolor)-C','(-C)--nocolor'}'[turns off colors]' {'(--quiet)-q','(-q)--quiet'}'[minimal output]' {'(--help)-h','(-h)--help'}'[show help]' + {'(--version)-V','(-V)--version'}'[show version]' ) common_args=( diff -Nau /usr/share/zsh/site-functions/_gentoo_packages ./site-functions/_gentoo_packages --- /usr/share/zsh/site-functions/_gentoo_packages 2005-05-01 23:31:19.000000000 +0200 +++ ./site-functions/_gentoo_packages 2005-05-02 18:09:02.000000000 +0200 @@ -21,6 +21,14 @@ compadd $flags } +_gentoo_packages_update_active_useflag(){ + local flags USE + var=USE + [[ -z ${(P)var} && -r /etc/make.conf ]] && + local $var="`. /etc/make.conf 2>/dev/null; echo ${(P)var}`" + flags=(${${${=USE}%-*}%\\*}) + compadd $flags +} _gentoo_packages_update_category(){ local var trees category for var in PORTDIR PORTDIR_OVERLAY ; do @@ -125,11 +133,11 @@ if [[ -z "$update_policy" ]]; then zstyle ":completion:*:*:$service:*" cache-policy _gentoo_cache_policy fi - [[ "$command" == (installed(_versions|)|available(_versions|)|binary|category|useflag) ]] || { + [[ "$command" == (installed(_versions|)|available(_versions|)|binary|category|useflag|active_useflag) ]] || { _message "unknown command: $command" return } - [[ "$pkgset" == (installed(_versions|)|available(_versions|)|binary|category|useflag) ]] || { + [[ "$pkgset" == (installed(_versions|)|available(_versions|)|binary|category|useflag|active_useflag) ]] || { pkgset="$command" } expl=("${(@)argv[1,-2]}")