Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Bug#490383: Completion for lintian-info
- X-seq: zsh-workers 25424
- From: Clint Adams <schizo@xxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: Bug#490383: Completion for lintian-info
- Date: Fri, 8 Aug 2008 21:57:34 +0000
- Cc: Chris Lamb <chris@xxxxxxxxxxxxxxxx>, 490383@xxxxxxxxxxxxxxx
- In-reply-to: <20080711225413.01920cc4@xxxxxxxxxxxxxxxxxxxxxxx>
- Mail-followup-to: zsh-workers@xxxxxxxxxx, Chris Lamb <chris@xxxxxxxxxxxxxxxx>, 490383@xxxxxxxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20080711225413.01920cc4@xxxxxxxxxxxxxxxxxxxxxxx>
On Fri, Jul 11, 2008 at 10:54:13PM +0100, Chris Lamb wrote:
> Attached is a zsh completion script for the lintian-info script.
Tweaked just a tad.
Index: Completion/Debian/Command/_lintian
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Debian/Command/_lintian,v
retrieving revision 1.2
diff -u -r1.2 _lintian
--- Completion/Debian/Command/_lintian 31 May 2006 17:04:20 -0000 1.2
+++ Completion/Debian/Command/_lintian 8 Aug 2008 21:55:56 -0000
@@ -1,36 +1,65 @@
-#compdef lintian
+#compdef lintian lintian-info
-_arguments -s \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-S,--setup-lab}'[setup or update the laboratory]' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-R,--remove-lab}'[remove the laboratory directory]' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-c,--check}'[run all checks over the specified packages]' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-C,--check-part}'[run only the specified checks]:checks:_values -s , "lintian checks" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-X,--dont-check-part}'[run only the specified checks]:checks:_values -s , "lintian checks" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-u,--unpack}'[unpack up to unpack level]' \
-'(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-r,--remove}'[clean packages up to current unpack level]' \
-'(-h --help)'{-h,--help}'[help]' \
-'(-v --verbose)'{-v,--verbose}'[verbose]' \
-'(-V --version)'{-V,--version}'[version]' \
-'(-d --debug)'{-d,--debug}'[debug]' \
-'--print-version[print unadorned version number]' \
-'(-i --info)'{-i,--info}'[print info about violations]' \
-'(-I --display-info)'{-I,--display-info}'[also display informational tags]' \
-'(-l --unpack-level)'{-l,--unpack-level}'[unpack level]:default unpack level:(0 1 2 none basic contents)' \
-'(-o --no-override)'{-o,--no-override}'[do not use the overrides file]' \
-'--show-overrides[output tags that have been overridden]' \
-'(-U --unpack-info)'{-U,--unpack-info}'[collect informations]:infos:_values -s , "collectibles" changelog-file copyright-file debfiles debian-readme diffstat doc-base-files file-info init.d md5sums menu-files objdump-info override-file scripts source-control-file' \
-'(-m --md5sums)'{-m,--md5sums}'[check md5sums when processing a .changes file]' \
-'--allow-root[override warning when run with superuser privileges]' \
-'--cfg:config file:_files' \
-'--lab:laboratory dir:_files -/' \
-'--archivedir:archive directory:_files -/' \
-'--dist:distribution:(woody sarge sid)' \
-'--section:release:(main contrib non-free)' \
-'--arch:architecture:(alpha arm hppa hurd-i386 i386 ia64 m68k mips mipsel powerpc s390 sparc)' \
-'--root:root directory:_files -/' \
-'(-a --all)'{-a,--all}'[check all packages in the distribution]' \
-'(-b --binary)'{-b,--binary}'[the following packages are binary]' \
-'(-s --source)'{-s,--source}'[the following packages are source]' \
-'--udeb[the following packages are udebs]' \
-'(-p --packages-file)'{-p,--packages-file}'[process packages listed in file]:list:_files' \
-':package:_files -g "*.(changes|deb|dsc)"'
+local line cmds ret=1
+
+case "$service" in
+ (lintian)
+ _arguments -s \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-S,--setup-lab}'[setup or update the laboratory]' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-R,--remove-lab}'[remove the laboratory directory]' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-c,--check}'[run all checks over the specified packages]' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-C,--check-part}'[run only the specified checks]:checks:_values -s , "lintian checks" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-X,--dont-check-part}'[run only the specified checks]:checks:_values -s , "lintian checks" binaries bin changelog-file chg conffiles cnf control-file dctrl control-files ctl copyright-file cpy cruft deb deb-format dfmt debconf dc debdiff dif debian-readme drm debhelper dh description des etcfiles etc fields fld files fil huge-usr-share hus infofiles info init.d ini manpages man md5sums md5 menus men menu-format mnf perl prl po-debconf pd scripts scr shared-libs shl spelling splr standards-version std' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-u,--unpack}'[unpack up to unpack level]' \
+ '(-c -r -u -C -R -S -X --check --check-part --dont-check-part --remove --remove-lab --setup-lab --unpack)'{-r,--remove}'[clean packages up to current unpack level]' \
+ '(-h --help)'{-h,--help}'[help]' \
+ '(-v --verbose)'{-v,--verbose}'[verbose]' \
+ '(-V --version)'{-V,--version}'[version]' \
+ '(-d --debug)'{-d,--debug}'[debug]' \
+ '--print-version[print unadorned version number]' \
+ '(-i --info)'{-i,--info}'[print info about violations]' \
+ '(-I --display-info)'{-I,--display-info}'[also display informational tags]' \
+ '(-l --unpack-level)'{-l,--unpack-level}'[unpack level]:default unpack level:(0 1 2 none basic contents)' \
+ '(-o --no-override)'{-o,--no-override}'[do not use the overrides file]' \
+ '--show-overrides[output tags that have been overridden]' \
+ '(-U --unpack-info)'{-U,--unpack-info}'[collect informations]:infos:_values -s , "collectibles" changelog-file copyright-file debfiles debian-readme diffstat doc-base-files file-info init.d md5sums menu-files objdump-info override-file scripts source-control-file' \
+ '(-m --md5sums)'{-m,--md5sums}'[check md5sums when processing a .changes file]' \
+ '--allow-root[override warning when run with superuser privileges]' \
+ '--cfg:config file:_files' \
+ '--lab:laboratory dir:_files -/' \
+ '--archivedir:archive directory:_files -/' \
+ '--dist:distribution:(woody sarge sid)' \
+ '--section:release:(main contrib non-free)' \
+ '--arch:architecture:(alpha arm hppa hurd-i386 i386 ia64 m68k mips mipsel powerpc s390 sparc)' \
+ '--root:root directory:_files -/' \
+ '(-a --all)'{-a,--all}'[check all packages in the distribution]' \
+ '(-b --binary)'{-b,--binary}'[the following packages are binary]' \
+ '(-s --source)'{-s,--source}'[the following packages are source]' \
+ '--udeb[the following packages are udebs]' \
+ '(-p --packages-file)'{-p,--packages-file}'[process packages listed in file]:list:_files' \
+ ':package:_files -g "*.(changes|deb|dsc)"'
+ ;;
+
+ (lintian-info)
+ _arguments -C '1: :->cmds' '*: :->args' && ret=0
+
+ case $state in
+ (cmds)
+ cmds=(
+ {-t,--tags}':print long description of arguments'
+ {-a,--annotate}':annotate override entries from stdin'
+ )
+ _describe -t commands 'lintian-info command' cmds && ret=0
+ ;;
+ (args)
+ case $line[1] in
+ -t|--tags)
+ _wanted tag expl 'tag' compadd $(command awk '/^Tag:/ { print $2 }' /usr/share/lintian/checks/*.desc) && ret=0
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+return ret
Messages sorted by:
Reverse Date,
Date,
Thread,
Author