<?xml version='1.0' encoding="iso-8859-1"?> <!DOCTYPE COMPLETION SYSTEM "completion.dtd"> <completion version='.02'> <meta> <filename>_zip</filename> </meta> <prolog> <code> local suffixes suf zipfile izip local expl curcontext="$curcontext" state line typeset -A opt_args </code> </prolog> <services> <service name='zip'> <also_completes> <env>ZIPOPT</env> </also_completes> <!-- -C -s --> <arguments> <help source="zsh" xml:lang="en-us" format="text" level="full"> The argoption elements are used to specify the flags that _arguments takes. If the "use" attribute is set to "false" this argoption will not be generated. </help> <argoption use="false"> <name>-A</name> <help source="zsh" xml:lang="en-us" format="text" level="full"> With -A, no options will be completed after the first non-option argument on the line. The -A has to be followed by a pattern matching all strings which are not to be taken as arguments. For example, to make _arguments stop completing options after the first normal argument, but ignoring all strings starting with a hyphen even if they are not described by one of the optspecs, one would use: `-A "-*"'. </help> <value></value> </argoption> <argoption> <name>-C</name> <help source="zsh" xml:lang="en-us" format="text" level="full"> The option -C can be given to make _arguments modify the curcontext parameter when an action of the form `->state' is used. This parameter is used to keep track of the current context and in this case it (and not the parameter context as explained above) has to be made local to make sure that calling functions don't use the modified value. </help> </argoption> <argoption use="false"> <name>-O</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> This flag takes one argument like `-O name'. The name will be taken as the name of an array and its elements will be given to functions called to generate matches when execut ing the actions. For example, this allows one to give options for the compadd builtin that should be used for all actions. </help> <value></value> </argoption> <argoption use="false"> <name>-R</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> The function returns with a non-zero return value if the cursor is not in a position where options can be completed or if the current word could not be completed to an option. But if the -R option is given to _arguments, the function will instead return with a return value of 300 (to make it distinguishable from other return values) after setting the global `context', `line' and `opt_args' parameters, and without resetting any changes made to the special parameters such as PREFIX and words. This enables wrapper functions around _arguments to be able to find out if they have to make sure that the special completion parameters are not reset when they return. </help> </argoption> <argoption use="false"> <name>-w</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> Used with the"-s" flag to say that more option characters are to be expected even after an option that takes an argument. For example, if a command takes the options `a' and `b', where `a' takes an argument in the next word, _arguments would normally not complete the other option directly after `-a', but it would allow that if given the -w option. </help> </argoption> <argoption > <name>-s</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> Option names represented by optname are normally taken to be multi-character names, and a word from the line is considered to contain only one option (or none). By giving the -s option to _arguments before the first spec, each optname is considered to be a single character and each word from the line may contain more than one such option letter. However, words beginning with two hyphens (like `--prefix') are still considered to contain only one option name. This allows the use of the `-s' option to describe single-letter options together with such long option names. The -s option can be combined with the "-w" or "-W" option. </help> </argoption> <argoption use="false"> <name>-W</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> Similarly, the option -W may be given together with -s to force completion of sin gle-letter options even after options that get an argument in the same word. For exam ple, if a command takes the options `a' and `b', where `a' needs an argument in the same word, directly after the option character, _arguments would normally only execute the action for that argument and not offer other single-letter options as possible comple tions. If given the -W option, it will offer other options as possible completions after executing the action for the argument. Note that, depending on the action, this may mean that the other options can't really be completed, but at least they will be listed. For more control, use an utility function like _guard in the argument's action. </help> </argoption> <argoption use="false"> <name>-M</name> <help level="full" format="text" xml:lang="en-us" source="zsh"> The -M option followed by a string may be given before the first description. The string will be used as the match specification when completing option names and values instead of the default `r:|[_-]=* r:|=*'. </help> <value/> </argoption> <argoption use="false"> <name> -S</name> <help source="zsh" xml:lang="en-us" format="text"> With -S, no option will be completed after a `--' on the line and this argument will otherwise be ignored. </help> </argoption> </arguments> <argspecs> <argspec> <optspec> <flagarg name='-f'> <explanation source='' xml:lang='en-us'> freshen: only changed files </explanation> <help name='-f' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Replace (freshen) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive; unlike the update option (-u) this will not add files that are not already in the zip archive. For example: zip -f foo This command should be run from the same directory from which the original zip command was run, since paths stored in zip archives are always relative. Note that the timezone environment variable TZ should be set according to the local timezone in order for the -f , -u and -o options to work cor- rectly. The reasons behind this are somewhat subtle but have to do with the differences between the Unix- format file times (always in GMT) and most of the other operating systems (always local time) and the necessity to compare the two. A typical TZ value is ``MET-1MEST'' (Middle European time with auto- matic adjustment for ``summertime'' or Daylight Savings Time). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-d'> <explanation source='' xml:lang='en-us'> delete entries in zipfile </explanation> <help name='-d' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Remove (delete) entries from a zip archive. For example: zip -d foo foo/tom/junk foo/harry/\* \*.o will remove the entry foo/tom/junk, all of the files that start with foo/harry/, and all of the files that end with .o (in any path). Note that shell pathname expansion has been inhibited with backslashes, so that zip can see the asterisks, enabling zip to match on the contents of the zip archive instead of the contents of the current directory. Under MSDOS, -d is case sensitive when it matches names in the zip archive. This requires that file names be entered in upper case if they were zipped by PKZIP on an MSDOS system. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-R'> <explanation source='' xml:lang='en-us'> recurse into directories </explanation> <help name='-R' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Travel the directory structure recursively starting at the current directory; for example: zip -R foo '*.c' In this case, all the files matching *.c in the tree starting at the current directory are stored into a zip archive named foo.zip. Note for PKZIP users: the equivalent command is pkzip -rP foo *.c ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-q'> <explanation source='' xml:lang='en-us'> quiet operation </explanation> <help name='-q' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Quiet mode; eliminate informational messages and comment prompts. (Useful, for example, in shell scripts and background tasks). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-c'> <explanation source='' xml:lang='en-us'> add one-line comments </explanation> <help name='-c' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Add one-line comments for each file. File opera- tions (adding, updating) are done first, and the user is then prompted for a one-line comment for each file. Enter the comment followed by return, or just return for no comment. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-b'> <explanation source='' xml:lang='en-us'> use "path" for temp file </explanation> <help name='-b' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Use the specified path for the temporary zip archive. For example: zip -b /tmp stuff * will put the temporary zip archive in the directory /tmp, copying over stuff.zip to the current direc- tory when done. This option is only useful when updating an existing archive, and the file system containing this old archive does not have enough space to hold both old and new archives at the same time. ]]></help> </flagarg> </optspec> <description> <message>path for temporary archive</message> <action><command>_files -/</command></action> </description> </argspec> <argspec> <optspec> <flagarg name='-@'> <explanation source='' xml:lang='en-us'> read names from stdin </explanation> <help name='-@' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Take the list of input files from standard input. Only one filename per line. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-F'> <explanation source='' xml:lang='en-us'> fix zipfile </explanation> <help name='-F' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Fix the zip archive. This option can be used if some portions of the archive are missing. It is not guaranteed to work, so you MUST make a backup of the original archive first. When doubled as in -FF the compressed sizes given inside the damaged archive are not trusted and zip scans for special signatures to identify the limits between the archive members. The single -F is more reliable if the archive is not too much damaged, for example if it has only been truncated, so try this option first. Neither option will recover archives that have been incorrectly transferred in ascii mode instead of binary. After the repair, the -t option of unzip may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-FF'> <explanation source='' xml:lang='en-us'> try harder to fix zipfile </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-A'> <explanation source='' xml:lang='en-us'> adjust self-extracting exe </explanation> <help name='-A' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Adjust self-extracting executable archive. A self- extracting executable archive is created by prepending the SFX stub to an existing archive. The -A option tells zip to adjust the entry offsets stored in the archive to take into account this "preamble" data. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-T'> <explanation source='' xml:lang='en-us'> test zipfile integrity </explanation> <help name='-T' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Test the integrity of the new zip file. If the check fails, the old zip file is unchanged and (with the -m option) no input files are removed. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-y'> <explanation source='' xml:lang='en-us'> store symbolic links as the link instead of the referenced file </explanation> <help name='-y' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Store symbolic links as such in the zip archive, instead of compressing and storing the file referred to by the link (UNIX only). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-e'> <explanation source='' xml:lang='en-us'> encrypt </explanation> <help name='-e' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Encrypt the contents of the zip archive using a password which is entered on the terminal in response to a prompt (this will not be echoed; if standard error is not a tty, zip will exit with an error). The password prompt is repeated to save the user from typing errors. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-h'> <explanation source='' xml:lang='en-us'> show help </explanation> <help name='-h' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Display the zip help information (this also appears if zip is run with no arguments). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-u'> <explanation source='' xml:lang='en-us'> update: only changed or new files </explanation> <help name='-u' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Replace (update) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive. For example: zip -u stuff * will add any new files in the current directory, and update any files which have been modified since the zip archive stuff.zip was last created/modified (note that zip will not try to pack stuff.zip into itself when you do this). Note that the -u option with no arguments acts like the -f (freshen) option. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-m'> <explanation source='' xml:lang='en-us'> move into zipfile (delete files) </explanation> <help name='-m' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Move the specified files into the zip archive; actually, this deletes the target directories/files after making the specified zip archive. If a direc- tory becomes empty after removal of the files, the directory is also removed. No deletions are done until zip has created the archive without error. This is useful for conserving disk space, but is potentially dangerous so it is recommended to use it in combination with -T to test the archive before removing all input files. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-g'> <explanation source='' xml:lang='en-us'> allow growing existing zipfile </explanation> <help name='-g' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Grow (append to) the specified zip archive, instead of creating a new one. If this operation fails, zip attempts to restore the archive to its original state. If the restoration fails, the archive might become corrupted. This option is ignored when there's no existing archive or when at least one archive member must be updated or deleted. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-j'> <explanation source='' xml:lang='en-us'> junk: do not record directory names </explanation> <help name='-j' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current path). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-l'> <explanation source='' xml:lang='en-us'> convert LF to CR LF </explanation> <help name='-l' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Translate the Unix end-of-line character LF into the MSDOS convention CR LF. This option should not be used on binary files. This option can be used on Unix if the zip file is intended for PKUNZIP under MSDOS. If the input files already contain CR LF, this option adds an extra CR. This ensure that unzip -a on Unix will get back an exact copy of the original file, to undo the effect of zip -l. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-ll'> <explanation source='' xml:lang='en-us'> convert CR LF to LF </explanation> <help name='-ll' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Translate the MSDOS end-of-line CR LF into Unix LF. This option should not be used on binary files. This option can be used on MSDOS if the zip file is intended for unzip under Unix. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-L'> <explanation source='' xml:lang='en-us'> display license </explanation> <help name='-L' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Display the zip license. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-v'> <explanation source='' xml:lang='en-us'> verbose operation/print version info </explanation> <help name='-v' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Verbose mode or print diagnostic version info. Normally, when applied to real operations, this option enables the display of a progress indicator during compression and requests verbose diagnostic info about zipfile structure oddities. When -v is the only command line argument, and std- out is not redirected to a file, a diagnostic screen is printed. In addition to the help screen header with program name, version, and release date, some pointers to the Info-ZIP home and dis- tribution sites are given. Then, it shows informa- tion about the target environment (compiler type and version, OS version, compilation date and the enabled optional features used to create the zip executable. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-z'> <explanation source='' xml:lang='en-us'> add zipfile comment </explanation> <help name='-z' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Prompt for a multi-line comment for the entire zip archive. The comment is ended by a line containing just a period, or an end of file condition (^D on UNIX, ^Z on MSDOS, OS/2, and VAX/VMS). The comment can be taken from a file: zip -z foo < foowhat ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-t'> <explanation source='' xml:lang='en-us'> only do files after or at "mmddyyyy" </explanation> <help name='-t' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Do not operate on files modified prior to the specified date, where mm is the month (0-12), dd is the day of the month (1-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example: zip -rt 12071991 infamy foo zip -rt 1991-12-07 infamy foo will add all the files in foo and its subdirecto- ries that were last modified on or after 7 December 1991, to the zip archive infamy.zip. ]]></help> </flagarg> </optspec> <description> <message>mmddyyyy</message> </description> </argspec> <argspec> <optspec> <flagarg name='-tt'> <explanation source='' xml:lang='en-us'> only do files before "mmddyyyy" </explanation> <help name='-tt' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Do not operate on files modified after or at the specified date, where mm is the month (0-12), dd is the day of the month (1-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example: zip -rtt 11301995 infamy foo zip -rtt 1995-11-30 infamy foo will add all the files in foo and its subdirecto- ries that were last modified before the 30 November 1995, to the zip archive infamy.zip. ]]></help> </flagarg> </optspec> <description> <message>mmddyyyy</message> </description> </argspec> <argspec> <optspec> <flagarg name='-o'> <explanation source='' xml:lang='en-us'> make zipfile as old as latest entry </explanation> <help name='-o' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Set the "last modified" time of the zip archive to the latest (oldest) "last modified" time found among the entries in the zip archive. This can be used without any other operations, if desired. For example: zip -o foo will change the last modified time of foo.zip to the latest time of the entries in foo.zip. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-D'> <explanation source='' xml:lang='en-us'> do not add directory entries </explanation> <help name='-D' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Do not create entries in the zip archive for direc- tories. Directory entries are created by default so that their attributes can be saved in the zip archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with sh: ZIPOPT="-D"; export ZIPOPT (The variable ZIPOPT can be used for any option except -i and -x and can include several options.) The option -D is a shorthand for -x "*/" but the latter cannot be set as default in the ZIPOPT envi- ronment variable. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-J'> <explanation source='' xml:lang='en-us'> junk zip file prefix (unzipsfx) </explanation> <help name='-J' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Strip any prepended data (e.g. a SFX stub) from the archive. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-X'> <explanation source='' xml:lang='en-us'> eXclude eXtra file attributes </explanation> <help name='-X' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Do not save extra file attributes (Extended Attributes on OS/2, uid/gid and file times on Unix). ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-n'> <explanation source='' xml:lang='en-us'> specify suffixes of files not to be compressed </explanation> <help name='-n' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ suffixes Do not attempt to compress files named with the given suffixes. Such files are simply stored (0% compression) in the output zip file, so that zip doesn't waste its time trying to compress them. The suffixes are separated by either colons or semicolons. For example: zip -rn .Z:.zip:.tiff:.gif:.snd foo foo will copy everything from foo into foo.zip, but will store any files that end in .Z, .zip, .tiff, .gif, or .snd without trying to compress them (image and sound files often have their own spe- cialized compression methods). By default, zip does not compress files with extensions in the list .Z:.zip:.zoo:.arc:.lzh:.arj. Such files are stored directly in the output archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with csh: setenv ZIPOPT "-n .gif:.zip" To attempt compression on all files, use: zip -n : foo The maximum compression option -9 also attempts compression on all files regardless of extension. On Acorn RISC OS systems the suffixes are actually filetypes (3 hex digit format). By default, zip does not compress files with filetypes in the list DDC:D96:68E (i.e. Archives, CFS files and PackDir files). ]]></help> </flagarg> </optspec> <description> <message>suffixes</message> <action><state>suffixes</state></action> </description> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-0'> <explanation source='' xml:lang='en-us'> store only </explanation> <help name='-0' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Regulate the speed of compression using the speci- fied digit #, where -0 indicates no compression (store all files), -1 indicates the fastest com- pression method (less compression) and -9 indicates the slowest compression method (optimal compres- sion, ignores the suffix list). The default com- pression level is -6. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-1'> <explanation source='' xml:lang='en-us'> compress faster </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-2'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-3'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-4'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-5'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-6'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-7'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-9</flag> </exclusionlist> <flagarg name='-8'/> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> </exclusionlist> <flagarg name='-9'> <explanation source='' xml:lang='en-us'> compress better </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-x'> <explanation source='' xml:lang='en-us'> exclude the following names </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-i'> <explanation source='' xml:lang='en-us'> include only the following names </explanation> <help name='-i' source='manpage' xml:lang='en' format='preformattedtext'><![CDATA[ Include only the specified files, as in: zip -r foo . -i \*.c which will include only the files that end in .c in the current directory and its subdirectories. (Note for PKZIP users: the equivalent command is pkzip -rP foo *.c PKZIP does not allow recursion in directories other than the current one.) The backslash avoids the shell filename substitution, so that the name matching is performed by zip at all directory lev- els. Also possible: zip -r foo . -i@include.lst which will only include the files in the current directory and its subdirectories that match the patterns in the file include.lst. ]]></help> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-f</flag> <flag>-d</flag> <flag>-R</flag> <flag>-q</flag> <flag>-c</flag> <flag>-b</flag> <flag>-@</flag> <flag>-F</flag> <flag>-FF</flag> <flag>-A</flag> <flag>-T</flag> <flag>-y</flag> <flag>-e</flag> <flag>-h</flag> <flag>-u</flag> <flag>-m</flag> <flag>-g</flag> <flag>-j</flag> <flag>-l</flag> <flag>-ll</flag> <flag>-L</flag> <flag>-v</flag> <flag>-z</flag> <flag>-t</flag> <flag>-tt</flag> <flag>-o</flag> <flag>-D</flag> <flag>-J</flag> <flag>-X</flag> <flag>-n</flag> <flag>-0</flag> <flag>-1</flag> <flag>-2</flag> <flag>-3</flag> <flag>-4</flag> <flag>-5</flag> <flag>-6</flag> <flag>-7</flag> <flag>-8</flag> <flag>-9</flag> </exclusionlist> <nextposition/> </optspec> <description> <message>zip file</message> <action><command>_files -g '(#i)*.(zip|[jw]ar)'</command></action> </description> </argspec> <argspec> <optspec> <nextposition/> </optspec> <description> <message>file</message> <action><state>files</state></action> </description> </argspec> </argspecs> <code samecommand="true"> && return 0</code> </service> <service name='unzip'> <arguments> <argoption> <name>-C</name> </argoption> <argoption> <name>-s</name> </argoption> </arguments> <argspecs> <argspec> <optspec> <exclusionlist> <flag>-f</flag> <flag>-u</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> <flag>-d</flag> </exclusionlist> <flagarg name='-p'> <explanation source='' xml:lang='en-us'> extract files to pipe </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-u</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-f'> <explanation source='' xml:lang='en-us'> freshen existing files; create none </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-f</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-u'> <explanation source='' xml:lang='en-us'> update files; create if necessary </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-f</flag> <flag>-u</flag> <flag>-t</flag> <flag>-z</flag> <flag>-d</flag> </exclusionlist> <flagarg name='-l'> <explanation source='' xml:lang='en-us'> list files </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-f</flag> <flag>-u</flag> <flag>-l</flag> <flag>-z</flag> <flag>-d</flag> </exclusionlist> <flagarg name='-t'> <explanation source='' xml:lang='en-us'> test compressed archive data </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-f</flag> <flag>-u</flag> <flag>-l</flag> <flag>-t</flag> <flag>-d</flag> </exclusionlist> <flagarg name='-z'> <explanation source='' xml:lang='en-us'> display archive comment </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-d+'> <explanation source='' xml:lang='en-us'> specify directory to extract files to </explanation> </flagarg> </optspec> <description> <message>directory</message> <action><command>_files -/</command></action> </description> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> <flag>-o</flag> </exclusionlist> <flagarg name='-n'> <explanation source='' xml:lang='en-us'> never overwrite existing files </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> <flag>-n</flag> </exclusionlist> <flagarg name='-o'> <explanation source='' xml:lang='en-us'> overwrite files without prompting </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-j'> <explanation source='' xml:lang='en-us'> junk paths (don't make directories) </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-C'> <explanation source='' xml:lang='en-us'> match filenames case-insensitively </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-X'> <explanation source='' xml:lang='en-us'> restore UID/GID info </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-q'> <explanation source='' xml:lang='en-us'> quiet </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-qq'> <explanation source='' xml:lang='en-us'> quieter </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-a'> <explanation source='' xml:lang='en-us'> auto-convert any text files </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-aa'> <explanation source='' xml:lang='en-us'> treat all files as text </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-v'> <explanation source='' xml:lang='en-us'> verbose/display version info </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-L'> <explanation source='' xml:lang='en-us'> lowercase (some) filenames </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-M'> <explanation source='' xml:lang='en-us'> page output </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-x'> <explanation source='' xml:lang='en-us'> exclude the following names </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-p</flag> <flag>-f</flag> <flag>-u</flag> <flag>-l</flag> <flag>-t</flag> <flag>-z</flag> <flag>-n</flag> <flag>-o</flag> <flag>-j</flag> <flag>-C</flag> <flag>-X</flag> <flag>-q</flag> <flag>-qq</flag> <flag>-a</flag> <flag>-aa</flag> <flag>-v</flag> <flag>-L</flag> <flag>-M</flag> </exclusionlist> <position position='1'/> </optspec> <description> <message>zip file</message> <action><command>_files -g '(#i)*.(zip|[jw]ar)'</command></action> </description> </argspec> <argspec> <optspec> <anyposition/> </optspec> <description> <message>file</message> <action><state>files</state></action> </description> </argspec> </argspecs> <code samecommand="true"> && return 0</code> </service> <service name='zipinfo'> <arguments> <argoption> <name>-C</name> </argoption> <argoption> <name>-s</name> </argoption> </arguments> <argspecs> <argspec> <optspec> <exclusionlist> <flag>-2</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> <flag>-v</flag> <flag>-h</flag> <flag>-t</flag> <flag>-T</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-1'> <explanation source='' xml:lang='en-us'> filenames only </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> <flag>-v</flag> <flag>-T</flag> </exclusionlist> <flagarg name='-2'> <explanation source='' xml:lang='en-us'> just filenames but allow -h/-t/-z </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-m</flag> <flag>-l</flag> <flag>-v</flag> <flag>-h</flag> <flag>-t</flag> </exclusionlist> <flagarg name='-s'> <explanation source='' xml:lang='en-us'> short format </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-s</flag> <flag>-l</flag> <flag>-v</flag> <flag>-h</flag> <flag>-t</flag> </exclusionlist> <flagarg name='-m'> <explanation source='' xml:lang='en-us'> medium format </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-s</flag> <flag>-m</flag> <flag>-v</flag> <flag>-h</flag> <flag>-t</flag> </exclusionlist> <flagarg name='-l'> <explanation source='' xml:lang='en-us'> long format </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> <flag>-h</flag> <flag>-z</flag> </exclusionlist> <flagarg name='-v'> <explanation source='' xml:lang='en-us'> verbose, multi-page format </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> <flag>-v</flag> </exclusionlist> <flagarg name='-h'> <explanation source='' xml:lang='en-us'> print header line </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-v</flag> </exclusionlist> <flagarg name='-z'> <explanation source='' xml:lang='en-us'> print zipfile comment </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-C'> <explanation source='' xml:lang='en-us'> match filenames case-insensitively </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> </exclusionlist> <flagarg name='-t'> <explanation source='' xml:lang='en-us'> print totals </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> </exclusionlist> <flagarg name='-T'> <explanation source='' xml:lang='en-us'> use sortable decimal format for file times </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-M'> <explanation source='' xml:lang='en-us'> page output </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <flagarg name='-x'> <explanation source='' xml:lang='en-us'> exclude the following names </explanation> </flagarg> </optspec> </argspec> <argspec> <optspec> <exclusionlist> <flag>-1</flag> <flag>-2</flag> <flag>-s</flag> <flag>-m</flag> <flag>-l</flag> <flag>-v</flag> <flag>-h</flag> <flag>-z</flag> <flag>-C</flag> <flag>-t</flag> <flag>-T</flag> <flag>-M</flag> </exclusionlist> <position position='1'/> </optspec> <description> <message>zip file</message> <action><command>_files -g '(#i)*.(zip|[jw]ar)'</command></action> </description> </argspec> <argspec> <optspec> <anyposition/> </optspec> <description> <message>file</message> <action><state>files</state></action> </description> </argspec> </argspecs> <code samecommand="true"> && return 0</code> </service> </services> <states> <state> <name>suffixes</name> <code><![CDATA[ compset -P '*:' compset -S ':*' || suf=":." suffixes=( *.*(N:e) ) _wanted suffixes expl suffixes \ compadd -S "$suf" -r ": \t" .$^suffixes && return 0 ]]></code> </state> <state> <name>files</name> <code><![CDATA[ if [[ $service = zip ]] && (( ! ${+opt_args[-d]} )); then _files -g '^(#i)*.(zip|[jw]ar)' && return 0 else (( izip = 1 + words[(I)-[^xi]*] )) (( izip == 1 )) && (( izip++ )) zipfile=( $~words[izip](|.zip|.ZIP) ) [[ -z $zipfile[1] ]] && return 1 if [[ $zipfile[1] != $_zip_cache_list ]]; then _zip_cache_name="$zipfile[1]" _zip_cache_list=( ${(f)"$(zipinfo -1 $_zip_cache_name)"} ) fi _wanted files expl 'file from archive' \ _multi_parts / _zip_cache_list && return 0 fi ]]></code> </state> </states> </completion>