diff options
author | 2014-12-17 18:09:03 -0500 | |
---|---|---|
committer | 2014-12-17 18:09:03 -0500 | |
commit | b59abbeb9423d75dc258d900bd3ea7dded586b98 (patch) | |
tree | 9c05c03d2109da55fcae5633e434eef4748255d8 /src/_portage | |
parent | Merge pull request #2 from dset0x/equery-completions (diff) | |
download | zsh-completion-b59abbeb9423d75dc258d900bd3ea7dded586b98.tar.gz zsh-completion-b59abbeb9423d75dc258d900bd3ea7dded586b98.tar.bz2 zsh-completion-b59abbeb9423d75dc258d900bd3ea7dded586b98.zip |
use consistent indentation (2 spaces) and add vim modelines
Diffstat (limited to 'src/_portage')
-rw-r--r-- | src/_portage | 466 |
1 files changed, 228 insertions, 238 deletions
diff --git a/src/_portage b/src/_portage index aef3487..e9639d8 100644 --- a/src/_portage +++ b/src/_portage @@ -12,49 +12,46 @@ # Still TODO: # xpak - # Stuff for ebuild _ebuild () { - if (( CURRENT == 2 ));then - _files -g \*.ebuild - elif (( CURRENT > 2 ));then - _values "ebuild command" \ - 'clean[Cleans the temporary build directory]' \ - 'help[Show help]' \ - 'setup[Run all package specific setup actions and exotic system checks.]' \ - 'fetch[Fetch all necessary files]' \ - 'digest[Creates a digest file for the package]' \ - 'unpack[Extracts the sources to a subdirectory in the build directory]' \ - 'compile[Compiles the extracted sources by running the src_compile()]' \ - 'preinst[Run specific actions that need to be done before installation]' \ - 'install[Installs the package to the temporary install directory]' \ - 'postinst[Run specific actions that need to be done after installation]' \ - 'qmerge[Installs the package de the filesystem]' \ - 'merge[perform the following actions: fetch, unpack, compile, install and qmerge.]' \ - 'unmerge[Remove the installed files of the packages]' \ - 'prerm[Run specific actions that need to be executed before unmerge]' \ - 'postrm[Run specific actions that need to be executed after unmerge]' \ - 'config[Run specific actions needed to be executed after the emerge process has completed.]' \ - 'package[This command is a lot like the merge command, but create a .tbz2 package]' \ - 'manifest[Updates the manifest file for the package.]' \ - 'rpm[Builds a RedHat RPM package]' - fi + if (( CURRENT == 2 )); then + _files -g \*.ebuild + elif (( CURRENT > 2 )); then + _values "ebuild command" \ + 'clean[Cleans the temporary build directory]' \ + 'help[Show help]' \ + 'setup[Run all package specific setup actions and exotic system checks.]' \ + 'fetch[Fetch all necessary files]' \ + 'digest[Creates a digest file for the package]' \ + 'unpack[Extracts the sources to a subdirectory in the build directory]' \ + 'compile[Compiles the extracted sources by running the src_compile()]' \ + 'preinst[Run specific actions that need to be done before installation]' \ + 'install[Installs the package to the temporary install directory]' \ + 'postinst[Run specific actions that need to be done after installation]' \ + 'qmerge[Installs the package de the filesystem]' \ + 'merge[perform the following actions: fetch, unpack, compile, install and qmerge.]' \ + 'unmerge[Remove the installed files of the packages]' \ + 'prerm[Run specific actions that need to be executed before unmerge]' \ + 'postrm[Run specific actions that need to be executed after unmerge]' \ + 'config[Run specific actions needed to be executed after the emerge process has completed.]' \ + 'package[This command is a lot like the merge command, but create a .tbz2 package]' \ + 'manifest[Updates the manifest file for the package.]' \ + 'rpm[Builds a RedHat RPM package]' + fi } - # Stuff for quickpkg _quickpkg () { - if compset -P '(\\|)(>=|<=|<|>|=)'; then - _arguments -s \ - '*:installed package:_gentoo_packages installed_versions' - elif compset -P '(\\|)[/]'; then - _path_files -W / -/ - else - _arguments \ - '*:installed package:_gentoo_packages installed' - fi + if compset -P '(\\|)(>=|<=|<|>|=)'; then + _arguments -s \ + '*:installed package:_gentoo_packages installed_versions' + elif compset -P '(\\|)[/]'; then + _path_files -W / -/ + else + _arguments '*:installed package:_gentoo_packages installed' + fi } # Stuff for emerge @@ -63,18 +60,18 @@ _emerge () { local nopkg_opts all noask_opts bopts install_args common_args profiles noask_opts=(-p -a --pretend --ask --regen --info --search -s --searchdesc \ - -S --version -V --help -h --metadata --check-news) + -S --version -V --help -h --metadata --check-news) nopkg_opts=(--resume --skipfirst -c --clean -h --help --depclean --info \ - --metadata -P --prune --regen -s --search -S --searchdesc --sync -C \ - --unmerge -V --version -i --inject --list-sets --deselect --check-news) + --metadata -P --prune --regen -s --search -S --searchdesc --sync -C \ + --unmerge -V --version -i --inject --list-sets --deselect --check-news) bopts=($nopkg_opts -b --buildpkg -B --buildpkgonly -G --getbinpkgonly -g \ - --getbinpkg -k --usepkg -K --usepkgonly --fetch-all-uri -f -F --fetchonly) + --getbinpkg -k --usepkg -K --usepkgonly --fetch-all-uri -f -F --fetchonly) all=($bopts -l --changelog --columns --deep -D --emptytree -e --newuse \ - --noconfmem --nodeps -O --noreplace -n --oneshot -1 -o --onlydeps --tree -t \ - -u --update -U --upgradeonly --config) + --noconfmem --nodeps -O --noreplace -n --oneshot -1 -o --onlydeps --tree -t \ + -u --update -U --upgradeonly --config) common_args=( "($noask_opts --sync)"{-p,--pretend}"[Simply display what would be done]" @@ -86,64 +83,64 @@ _emerge () { '(: -)'{-h,--help}'[Displays help]' "(: -)--config[Run package specific actions needed to be executed after the emerge process has completed]:installed atom:_gentoo_packages installed" "(: -)--list-sets[Displays a list of available package sets]" - "--color=[Color output]:yes/no:((y\:'yes' n\:'no'))" - "--accept-properties=[Temporarily override the ACCEPT_PROPERTIES variable]" - "--accept-restrict=[Temporarily override the ACCEPT_RESTRICT variable]" - "($noask_opts)"{-A,--alert}"[Add a terminal bell to all interactive prompts]" - "--ignore-default-opts[Ignore EMERGE_DEFAULT_OPTS]" - "--moo[Have you mooed today?]" - "(--jobs)--jobs[Number of packages to build simultaneously]:jobs:({1.."${#${$(</proc/cpuinfo)/^processor}}"})" + "--color=[Color output]:yes/no:((y\:'yes' n\:'no'))" + "--accept-properties=[Temporarily override the ACCEPT_PROPERTIES variable]" + "--accept-restrict=[Temporarily override the ACCEPT_RESTRICT variable]" + "($noask_opts)"{-A,--alert}"[Add a terminal bell to all interactive prompts]" + "--ignore-default-opts[Ignore EMERGE_DEFAULT_OPTS]" + "--moo[Have you mooed today?]" + "(--jobs)--jobs[Number of packages to build simultaneously]:jobs:({1.."${#${$(</proc/cpuinfo)/^processor}}"})" ) install_args=( - "--deselect[Remove atom from world file]" - "--alphabetical[Sort use/other flags output alphabetically despite of status]" - "--ask-enter-invalid[When with --ask, interpret a single 'Enter' key press as invalid input]" - "--autounmask[Automatically unmask packages and generate package.use]" - "--autounmask-unrestricted-atoms[Use >= for autounmask if possible]" - "--autounmask-keep-masks[Don't unmask hardmasks and unkeyworded (live)]" - "--autounmask-write[Automatically write autounmask changes (respect CONFIG_PROTECT)]" - "--backtrack=[Number of times to backtrack if dependency calculation fails]:number:(0 10 30)" - "--binpkg-respect-use[Ignore binary packages if their uses don't match current config]" - "--complete-graph[Consider the deep dependencies of all packages from the world set]" - "--complete-graph-if-new-use[--complete-graph if USE or IUSE will change for an installed package]" - "--complete-graph-if-new-ver[--complete-graph if an installed package version will change]" - "--config-root=[Set PORTAGE_CONFIGROOT variable]:root path:_files -/" - "--depclean-lib-check[Check library link-level dependencies]" - "--digest[Prevent corruption from being noticed]" - "--dynamic-deps[Substitute the dependencies of installed packages with the dependencies of corresponding unbuilt ebuilds]" - "--fail-clean[Clean up temporary files after a build failure]" - "--ignore-built-slot-operator-deps[Ignore the slot/sub-slot dependencies for built pkg]" - "--keep-going[Continue as much as possible after an error]" - "--load-average[No new builds should be started if there are other builds running and the load average is at least VALUE]" - "--misspell-suggestions[Enable or disable misspell suggestions]" - "--newrepo[Recompile a package if it is now being pulled from a different repository]" - "--usepkg-exclude[Ignore matching binary packages]:installed atom:_gentoo_packages installed" - "--rebuild-exclude[Do not rebuild matching packages on --rebuild]:installed atom:_gentoo_packages installed" - "--rebuild-ignore[Do not rebuild packages that depend on matching packages on --rebuild]:installed atom:_gentoo_packages installed" - "--package-moves[Perform package moves when necessary]" - "--pkg-format[Binary package format]:archive type:(tar rpm)" - "--prefix=[Set EPREFIX env variable]:prefix path:_files -/" - "--quiet-build[Redirect all build output to logs]" - "--quiet-fail[Suppresses display of the build log on stdout]" - "--quiet-repo-display[Suppress ::repository in output (and use numbers)]" - "--quiet-unmerge-warn[Disable the warning message on --unmerge and friends]" - "--rebuild-if-new-slot[Automatically rebuild or reinstall packages when dependencies can be satisfied by a newer slot]" - "--rebuild-if-new-rev[Rebuild packages when build-time dependencies are built from source, if the dependency is not already installed with the same version and revision]" - "--rebuild-if-new-ver[Rebuild packages when build-time dependencies are built from source, if the dependency is not already installed with the same version]" - "--rebuild-if-unbuilt[Rebuild packages when build-time dependencies are built from source]" - "--rebuilt-binaries[Replace installed packages with binary packages that have been rebuilt]" - "--rebuilt-binaries-timestamp[Only binaries older than TIMESTAMP will be considered by the rebuilt-binaries logic]:TIMESTAMP" - "--reinstall[Alias for --changed-use (currently)]:reinstall opts:(changes-use)" - "--reinstall-atoms[Treat matching packages as if they are not installed]:installed atoms:_gentoo_packages installed" - "--root=[Set ROOT env variable]:prefix path:_files -/" - "(: $nopkg_opts)"{-w,--select}"[Add specified packages to the world set (inverse of --oneshot)]" - "--selective=[Use --selective=n if you want to forcefully disable --selective, regardless of options like --changed-use, --newuse, --noreplace, or --update]:yes/no:((y\:'yes' n\:'no'))" - "--unordered-display[Produce more readable package tree with --tree]" - "--use-ebuild-visibility[Use unbuilt ebuild metadata for visibility checks on built packages]" - "--useoldpkg-atoms[Prefer matching binary packages over newer unbuilt packages]:available atom:_gentoo_packages available" + "--deselect[Remove atom from world file]" + "--alphabetical[Sort use/other flags output alphabetically despite of status]" + "--ask-enter-invalid[When with --ask, interpret a single 'Enter' key press as invalid input]" + "--autounmask[Automatically unmask packages and generate package.use]" + "--autounmask-unrestricted-atoms[Use >= for autounmask if possible]" + "--autounmask-keep-masks[Don't unmask hardmasks and unkeyworded (live)]" + "--autounmask-write[Automatically write autounmask changes (respect CONFIG_PROTECT)]" + "--backtrack=[Number of times to backtrack if dependency calculation fails]:number:(0 10 30)" + "--binpkg-respect-use[Ignore binary packages if their uses don't match current config]" + "--complete-graph[Consider the deep dependencies of all packages from the world set]" + "--complete-graph-if-new-use[--complete-graph if USE or IUSE will change for an installed package]" + "--complete-graph-if-new-ver[--complete-graph if an installed package version will change]" + "--config-root=[Set PORTAGE_CONFIGROOT variable]:root path:_files -/" + "--depclean-lib-check[Check library link-level dependencies]" + "--digest[Prevent corruption from being noticed]" + "--dynamic-deps[Substitute the dependencies of installed packages with the dependencies of corresponding unbuilt ebuilds]" + "--fail-clean[Clean up temporary files after a build failure]" + "--ignore-built-slot-operator-deps[Ignore the slot/sub-slot dependencies for built pkg]" + "--keep-going[Continue as much as possible after an error]" + "--load-average[No new builds should be started if there are other builds running and the load average is at least VALUE]" + "--misspell-suggestions[Enable or disable misspell suggestions]" + "--newrepo[Recompile a package if it is now being pulled from a different repository]" + "--usepkg-exclude[Ignore matching binary packages]:installed atom:_gentoo_packages installed" + "--rebuild-exclude[Do not rebuild matching packages on --rebuild]:installed atom:_gentoo_packages installed" + "--rebuild-ignore[Do not rebuild packages that depend on matching packages on --rebuild]:installed atom:_gentoo_packages installed" + "--package-moves[Perform package moves when necessary]" + "--pkg-format[Binary package format]:archive type:(tar rpm)" + "--prefix=[Set EPREFIX env variable]:prefix path:_files -/" + "--quiet-build[Redirect all build output to logs]" + "--quiet-fail[Suppresses display of the build log on stdout]" + "--quiet-repo-display[Suppress ::repository in output (and use numbers)]" + "--quiet-unmerge-warn[Disable the warning message on --unmerge and friends]" + "--rebuild-if-new-slot[Automatically rebuild or reinstall packages when dependencies can be satisfied by a newer slot]" + "--rebuild-if-new-rev[Rebuild packages when build-time dependencies are built from source, if the dependency is not already installed with the same version and revision]" + "--rebuild-if-new-ver[Rebuild packages when build-time dependencies are built from source, if the dependency is not already installed with the same version]" + "--rebuild-if-unbuilt[Rebuild packages when build-time dependencies are built from source]" + "--rebuilt-binaries[Replace installed packages with binary packages that have been rebuilt]" + "--rebuilt-binaries-timestamp[Only binaries older than TIMESTAMP will be considered by the rebuilt-binaries logic]:TIMESTAMP" + "--reinstall[Alias for --changed-use (currently)]:reinstall opts:(changes-use)" + "--reinstall-atoms[Treat matching packages as if they are not installed]:installed atoms:_gentoo_packages installed" + "--root=[Set ROOT env variable]:prefix path:_files -/" + "(: $nopkg_opts)"{-w,--select}"[Add specified packages to the world set (inverse of --oneshot)]" + "--selective=[Use --selective=n if you want to forcefully disable --selective, regardless of options like --changed-use, --newuse, --noreplace, or --update]:yes/no:((y\:'yes' n\:'no'))" + "--unordered-display[Produce more readable package tree with --tree]" + "--use-ebuild-visibility[Use unbuilt ebuild metadata for visibility checks on built packages]" + "--useoldpkg-atoms[Prefer matching binary packages over newer unbuilt packages]:available atom:_gentoo_packages available" "($bopts)"{-b,--buildpkg}"[Tells emerge to build binary packages]" "($bopts)--buildpkg-exclude[Space separated list of package atoms for which no binary packages should be built]" - "($bopts)--exclude[Space separated list of package names or slot atoms which should not be installed]" + "($bopts)--exclude[Space separated list of package names or slot atoms which should not be installed]" "($bopts)"{-B,--buildpkgonly}"[Tells emerge to only build binary packages]" "($nopkg_opts --emptytree -e -l --changelog --usepkgonly -K)"{-l,--changelog}"[This will show the ChangeLog]" "($nopkg_opts -t --tree)--columns[Displays versions in aligned format]" @@ -188,178 +185,171 @@ _emerge () { 'system[All packages in the system profile]' ) - # Dispatch - if (( $words[(I)(--(unmerge|(dep|)clean|prune|deselect)|-[[:alpha:]]#(C|c|P)[[:alpha:]]#)] )) ; then - if compset -P '(\\|)(>=|<=|<|>|=)'; then - _arguments -s \ - '*:installed package:_gentoo_packages installed_versions' && return 0 - else - _arguments -s \ - "$common_args[@]" "$install_args[@]" \ - "*:installed package:_gentoo_packages installed" \ - "::installed sets:_gentoo_packages installed_sets" \ - && return 0 - fi + if (( $words[(I)(--(unmerge|(dep|)clean|prune|deselect)|-[[:alpha:]]#(C|c|P)[[:alpha:]]#)] )); then + if compset -P '(\\|)(>=|<=|<|>|=)'; then + _arguments -s \ + '*:installed package:_gentoo_packages installed_versions' && return 0 + else + _arguments -s \ + "$common_args[@]" "$install_args[@]" \ + "*:installed package:_gentoo_packages installed" \ + "::installed sets:_gentoo_packages installed_sets" \ + && return 0 + fi - elif (( $words[(I)(world|system)] )) ; then + elif (( $words[(I)(world|system)] )); then _arguments -s \ - "$common_args[@]" "$install_args[@]" \ - "($nopkg_opts[1,-2] --inject -i --oneshot -1):" && return 0 + "$common_args[@]" "$install_args[@]" \ + "($nopkg_opts[1,-2] --inject -i --oneshot -1):" && return 0 - elif (( $words[(I)(--usepkgonly|-[[:alnum:]]#K[[:alnum:]]#)] )) ; then + elif (( $words[(I)(--usepkgonly|-[[:alnum:]]#K[[:alnum:]]#)] )); then _arguments -s \ - "$common_args[@]" "$install_args[@]" \ - '*:binary package:_gentoo_packages binary' && return 0 + "$common_args[@]" "$install_args[@]" \ + '*:binary package:_gentoo_packages binary' && return 0 else - if compset -P '(\\|)(>=|<=|<|>|=)'; then - _arguments \ - "*:portage:_gentoo_packages available_versions" && return 0 - elif (( $words[(I)(--inject|-i)] )) ; then - _arguments -s \ - "$common_args[@]" "$install_args[@]" \ - "*:portage:_gentoo_packages available_versions" && return 0 - else - _arguments -s \ - "$common_args[@]" "$install_args[@]" \ - "($nopkg_opts)::portage: _values 'profile' \$profiles[@] " \ - "($nopkg_opts)*:portage:_gentoo_packages available" \ - "($nopkg_opts)::available sets:_gentoo_packages available_sets" \ - && return 0 - fi + if compset -P '(\\|)(>=|<=|<|>|=)'; then + _arguments "*:portage:_gentoo_packages available_versions" && return 0 + elif (( $words[(I)(--inject|-i)] )); then + _arguments -s \ + "$common_args[@]" "$install_args[@]" \ + "*:portage:_gentoo_packages available_versions" && return 0 + else + _arguments -s \ + "$common_args[@]" "$install_args[@]" \ + "($nopkg_opts)::portage: _values 'profile' \$profiles[@] " \ + "($nopkg_opts)*:portage:_gentoo_packages available" \ + "($nopkg_opts)::available sets:_gentoo_packages available_sets" \ + && return 0 + fi fi } - _emaint () { - _arguments -s \ - "(: -)"{-h,--help}'[show help message and exit]' \ - "(: -)"--version"[show program's version number and exit]" \ - '(-c --check -f --fix)'{-c,--check}"[Check for any problems that may exist]:emaint:((all\:'check all' world\:'check only world file'))" \ - '(-c --check -f --fix)'{-f,--fix}"[Fix any problems that may exist]:emaint:((all\:'check all' world\:'check only world file'))" + _arguments -s \ + "(: -)"{-h,--help}'[show help message and exit]' \ + "(: -)"--version"[show program's version number and exit]" \ + '(-c --check -f --fix)'{-c,--check}"[Check for any problems that may exist]:emaint:((all\:'check all' world\:'check only world file'))" \ + '(-c --check -f --fix)'{-f,--fix}"[Fix any problems that may exist]:emaint:((all\:'check all' world\:'check only world file'))" } - _env-update () { - _arguments -s '(: -)--no-ldconfig[Do not run ldconfig]' + _arguments -s '(: -)--no-ldconfig[Do not run ldconfig]' } - _portageq () { - local action - - action="$words[2]" - - if (( CURRENT == 2 )); then - _values 'command' \ - '--help[Show help]' \ - 'config_protect_mask[Returns the CONFIG_PROTECT_MASK paths]' \ - 'config_protect[Returns the CONFIG_PROTECT paths]' \ - 'portdir[Returns PORTDIR paths]' \ - 'contents[List the files that are installed for a given package]' \ - 'vdb_path[Returns the path used for the var(installed) package database]' \ - 'gentoo_mirrors[Returns the mirrors set to use in the portage configuration]' \ - 'exithandler[MISSING DOCUMENTATION!]' \ - 'all_best_visible[Returns all best_visible packages (without .ebuild)]' \ - 'match[Returns a \n separated list of category/package-version]' \ - 'metadata[Returns metadata values for the specified package]' \ - 'best_visible[Returns category/package-version (without .ebuild)]' \ - 'mass_best_visible[Returns category/package-version (without .ebuild)]' \ - "has_version[Return code 0 if it's available, 1 otherwise]" \ - 'envvar[Returns a specific environment variable as exists prior to ebuild.sh]' \ - 'pkgdir[Returns the PKGDIR path]' \ - 'best_version[Returns category/package-version (without .ebuild)]' \ - 'mass_best_version[Returns category/package-version (without .ebuild)]' \ - 'portdir_overlay[Returns the PORTDIR_OVERLAY path]' \ - 'distdir[Returns the DISTDIR path]' \ - 'owners[print the packages that own the files and which files belong to each package]' - elif (( CURRENT == 3 )); then - if [[ "$action" =~ (contents|(all_|mass_|)best_visible|match|metadata|(has|best)_version|owners|mass_best_version) ]]; then - _arguments -s '*:root:_files -g /' - fi - elif (( CURRENT > 3 )); then - if [[ "$action" =~ ((mass_|)best_(visible|version)|has_version) ]]; then - _arguments -s '*:package:_gentoo_packages available' - elif [[ "$action" == owners ]]; then - _arguments -s '*:root:_files' - fi + local action + + action="$words[2]" + + if (( CURRENT == 2 )); then + _values 'command' \ + '--help[Show help]' \ + 'config_protect_mask[Returns the CONFIG_PROTECT_MASK paths]' \ + 'config_protect[Returns the CONFIG_PROTECT paths]' \ + 'portdir[Returns PORTDIR paths]' \ + 'contents[List the files that are installed for a given package]' \ + 'vdb_path[Returns the path used for the var(installed) package database]' \ + 'gentoo_mirrors[Returns the mirrors set to use in the portage configuration]' \ + 'exithandler[MISSING DOCUMENTATION!]' \ + 'all_best_visible[Returns all best_visible packages (without .ebuild)]' \ + 'match[Returns a \n separated list of category/package-version]' \ + 'metadata[Returns metadata values for the specified package]' \ + 'best_visible[Returns category/package-version (without .ebuild)]' \ + 'mass_best_visible[Returns category/package-version (without .ebuild)]' \ + "has_version[Return code 0 if it's available, 1 otherwise]" \ + 'envvar[Returns a specific environment variable as exists prior to ebuild.sh]' \ + 'pkgdir[Returns the PKGDIR path]' \ + 'best_version[Returns category/package-version (without .ebuild)]' \ + 'mass_best_version[Returns category/package-version (without .ebuild)]' \ + 'portdir_overlay[Returns the PORTDIR_OVERLAY path]' \ + 'distdir[Returns the DISTDIR path]' \ + 'owners[print the packages that own the files and which files belong to each package]' + elif (( CURRENT == 3 )); then + if [[ "$action" =~ (contents|(all_|mass_|)best_visible|match|metadata|(has|best)_version|owners|mass_best_version) ]]; then + _arguments -s '*:root:_files -g /' + fi + elif (( CURRENT > 3 )); then + if [[ "$action" =~ ((mass_|)best_(visible|version)|has_version) ]]; then + _arguments -s '*:package:_gentoo_packages available' + elif [[ "$action" == owners ]]; then + _arguments -s '*:root:_files' fi + fi } - _repoman () { - local previous - - previous="$words[CURRENT-1]" - - _arguments -s \ - '(--force)'--force'[Force commit to proceed, regardless of QA issues]' \ - '(-q --quiet -v --verbose)'{-q,--quiet}'[Be less verbose about extraneous info]' \ - '(-p --pretend -m --commitmsg -M --commitmsgfile)'{-p,--pretend}'[Don’t commit or fix anything; just show what would be done]' \ - '(-i --include-masked)'{-i,--include-masked}'[Include masked packages in scans at category or tree level]' \ - '(-x --xmlparse)'{-x,--xmlparse}'[Forces the metadata.xml parse check to be carried out]' \ - '(-q --quiet -v --verbose)'{-v,--verbose}'[Displays every package name while checking]' \ - '(-I --ignore-arches)'{-I,--ignore-arches}'[Ignore arch-specific failures (where arch != host)]' \ - '(-m --commitmsg -M --commitmsgfile)'{-m,--commitmsg}'[Adds a commit message via the command line]:message:' \ - '(-m --commitmsg -M --commitmsgfile)'{-M,--commitmsgfile}'[Adds a commit message from the specified file]:commit_file:_files' \ - '(: -)'{-V,--version}'[Show version info]' \ - '(: -)'{-h,--help}'[Show this screen]' - - # if we don't have an option that cancel action, or if we don't already have an action. - if ! [[ "$previous" =~ (-h|-V|-m|-M|--version|--help|--commitmsg|--commitmsgfile) ]] && - ! (( $words[(I)(full|last|help|scan|fix|lfull|manifest|commit)] )); then - _values 'action' \ - 'full[Scan directory tree for QA issues (full listing)]' \ - 'last[Remember report from last run]' \ - 'help[Show this screen]' \ - 'scan[Scan directory tree for QA issues (short listing)]' \ - 'fix[Fix simple QA issues (stray digests, missing digests)]' \ - 'lfull[Remember report from last run (full listing)]' \ - 'manifest[Generate a Manifest (fetches files if necessary)]' \ - 'commit[Scan directory tree for QA issues; if OK, commit via cvs]' - fi + local previous + + previous="$words[CURRENT-1]" + + _arguments -s \ + '(--force)'--force'[Force commit to proceed, regardless of QA issues]' \ + '(-q --quiet -v --verbose)'{-q,--quiet}'[Be less verbose about extraneous info]' \ + '(-p --pretend -m --commitmsg -M --commitmsgfile)'{-p,--pretend}'[Don’t commit or fix anything; just show what would be done]' \ + '(-i --include-masked)'{-i,--include-masked}'[Include masked packages in scans at category or tree level]' \ + '(-x --xmlparse)'{-x,--xmlparse}'[Forces the metadata.xml parse check to be carried out]' \ + '(-q --quiet -v --verbose)'{-v,--verbose}'[Displays every package name while checking]' \ + '(-I --ignore-arches)'{-I,--ignore-arches}'[Ignore arch-specific failures (where arch != host)]' \ + '(-m --commitmsg -M --commitmsgfile)'{-m,--commitmsg}'[Adds a commit message via the command line]:message:' \ + '(-m --commitmsg -M --commitmsgfile)'{-M,--commitmsgfile}'[Adds a commit message from the specified file]:commit_file:_files' \ + '(: -)'{-V,--version}'[Show version info]' \ + '(: -)'{-h,--help}'[Show this screen]' + + # if we don't have an option that cancel action, or if we don't already have an action. + if ! [[ "$previous" =~ (-h|-V|-m|-M|--version|--help|--commitmsg|--commitmsgfile) ]] && + ! (( $words[(I)(full|last|help|scan|fix|lfull|manifest|commit)] )); then + _values 'action' \ + 'full[Scan directory tree for QA issues (full listing)]' \ + 'last[Remember report from last run]' \ + 'help[Show this screen]' \ + 'scan[Scan directory tree for QA issues (short listing)]' \ + 'fix[Fix simple QA issues (stray digests, missing digests)]' \ + 'lfull[Remember report from last run (full listing)]' \ + 'manifest[Generate a Manifest (fetches files if necessary)]' \ + 'commit[Scan directory tree for QA issues; if OK, commit via cvs]' + fi } - _tbz2tool () { - if (( CURRENT == 2 )); then - _values 'action' 'join' 'split' - elif (( CURRENT > 2 )) && (( CURRENT < 6 )); then - _arguments -s '*:file:_files' - fi + if (( CURRENT == 2 )); then + _values 'action' 'join' 'split' + elif (( CURRENT > 2 )) && (( CURRENT < 6 )); then + _arguments -s '*:file:_files' + fi } - zparseopts -D -E -A Args -- -emerge -if (( ${+Args[--emerge]} ));then - _emerge "$@" && return 0 +if (( ${+Args[--emerge]} )); then + _emerge "$@" && return 0 fi case "$service" in - emerge) - _emerge "$@" && return 0 - ;; - ebuild) - _ebuild "$@" && return 0 - ;; - quickpkg) - _quickpkg "$@" && return 0 - ;; - emaint) - _emaint "$@" && return 0 - ;; - env-update) - _env-update "$@" && return 0 - ;; - portageq) - _portageq "$@" && return 0 - ;; - repoman) - _repoman "$@" && return 0 - ;; - tbz2tool) - _tbz2tool "$@" && return 0 - ;; + emerge) + _emerge "$@" && return 0 + ;; + ebuild) + _ebuild "$@" && return 0 + ;; + quickpkg) + _quickpkg "$@" && return 0 + ;; + emaint) + _emaint "$@" && return 0 + ;; + env-update) + _env-update "$@" && return 0 + ;; + portageq) + _portageq "$@" && return 0 + ;; + repoman) + _repoman "$@" && return 0 + ;; + tbz2tool) + _tbz2tool "$@" && return 0 + ;; esac +# vim: set et sw=2 sts=2 ts=2 ft=zsh: |