_zip
local suffixes suf zipfile izip
local expl curcontext="$curcontext" state line
typeset -A opt_args
ZIPOPT
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.
-A
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 "-*"'.
-C
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.
-O
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.
-R
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.
-w
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.
-s
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.
-W
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.
-M
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:|=*'.
-S
With -S, no option will be completed after
a `--' on the line and this argument will
otherwise be ignored.
freshen: only changed files
delete entries in zipfile
recurse into directories
quiet operation
add one-line comments
use "path" for temp file
path for temporary archive
_files -/
read names from stdin
fix zipfile
try harder to fix zipfile
adjust self-extracting exe
test zipfile integrity
store symbolic links as the link instead of the referenced file
encrypt
show help
update: only changed or new files
move into zipfile (delete files)
allow growing existing zipfile
junk: do not record directory names
convert LF to CR LF
convert CR LF to LF
display license
verbose operation/print version info
add zipfile comment
only do files after or at "mmddyyyy"
mmddyyyy
only do files before "mmddyyyy"
mmddyyyy
make zipfile as old as latest entry
do not add directory entries
junk zip file prefix (unzipsfx)
eXclude eXtra file attributes
specify suffixes of files not to be compressed
suffixes
->suffixes
-1
-2
-3
-4
-5
-6
-7
-8
-9
store only
-0
-2
-3
-4
-5
-6
-7
-8
-9
compress faster
-0
-1
-3
-4
-5
-6
-7
-8
-9
-0
-1
-2
-4
-5
-6
-7
-8
-9
-0
-1
-2
-3
-5
-6
-7
-8
-9
-0
-1
-2
-3
-4
-6
-7
-8
-9
-0
-1
-2
-3
-4
-5
-7
-8
-9
-0
-1
-2
-3
-4
-5
-6
-8
-9
-0
-1
-2
-3
-4
-5
-6
-7
-9
-0
-1
-2
-3
-4
-5
-6
-7
-8
compress better
exclude the following names
include only the following names
-f
-d
-R
-q
-c
-b
-@
-F
-FF
-A
-T
-y
-e
-h
-u
-m
-g
-j
-l
-ll
-L
-v
-z
-t
-tt
-o
-D
-J
-X
-n
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
zip file
_files -g '(#i)*.(zip|[jw]ar)'
file
->files
&& return 0
C
s
-f
-u
-l
-t
-z
-d
extract files to pipe
-p
-u
-l
-t
-z
freshen existing files; create none
-p
-f
-l
-t
-z
update files; create if necessary
-p
-f
-u
-t
-z
-d
list files
-p
-f
-u
-l
-z
-d
test compressed archive data
-p
-f
-u
-l
-t
-d
display archive comment
-p
-l
-t
-z
specify directory to extract files to
directory
_files -/
-p
-l
-t
-z
-o
never overwrite existing files
-p
-l
-t
-z
-n
overwrite files without prompting
-p
-l
-t
-z
junk paths (don't make directories)
match filenames case-insensitively
-p
-l
-t
-z
restore UID/GID info
quiet
quieter
-l
-t
-z
auto-convert any text files
-l
-t
-z
treat all files as text
verbose/display version info
-p
-z
lowercase (some) filenames
page output
exclude the following names
-p
-f
-u
-l
-t
-z
-n
-o
-j
-C
-X
-q
-qq
-a
-aa
-v
-L
-M
zip file
_files -g '(#i)*.(zip|[jw]ar)'
file
->files
&& return 0
C
s
-2
-s
-m
-l
-v
-h
-t
-T
-z
filenames only
-1
-s
-m
-l
-v
-T
just filenames but allow -h/-t/-z
-1
-2
-m
-l
-v
-h
-t
short format
-1
-2
-s
-l
-v
-h
-t
medium format
-1
-2
-s
-m
-v
-h
-t
long format
-1
-2
-s
-m
-l
-h
-z
verbose, multi-page format
-1
-s
-m
-l
-v
print header line
-1
-v
print zipfile comment
match filenames case-insensitively
-1
-s
-m
-l
print totals
-1
-2
use sortable decimal format for file times
page output
exclude the following names
-1
-2
-s
-m
-l
-v
-h
-z
-C
-t
-T
-M
zip file
_files -g '(#i)*.(zip|[jw]ar)'
file
->files
&& return 0
suffixes
files