'(--line)--line[Only print line NUM of each file.]:number' \
'(-l --files-with-matches -L --files-without-matches)'{-l,--files-with-matches}'[Only print the filenames of matching files, instead of the matching text.]' \
'(-L --files-without-matches -l --files-with-matches)'{-L,--files-without-matches}'[Only print the filenames of files that do NOT match.]' \
'(--match)--match[Specify the REGEX explicitly.]:regex' \
'(-m --max-count)'{-m,--max-count}'[Stop reading a file after NUM matches.]:number' \
'(-r -R --recurse -n --no-recurse)'{-r,-R,--recurse}'[Recurse into sub-directories.]' \
'(-n --no-recurse -r -R --recurse)'{-n,--no-recurse}'[No descending into subdirectories.]' \
'(-o)-o[Show only the part of each line matching PATTERN (turns off text highlighting)]:pattern' \
'(--output)--output[Output the evaluation of expr for each line (turns off text highlighting)]:expression' \
'(--pager)--pager[Direct ack'\''s output through program.]:pager program:_command_names' \
'(--passthru)--passthru[Prints all lines, whether or not they match the expression.]' \
'(--print0)--print0[The filenames are output separated with a null byte instead of the usual newline.]' \
'(-Q --literal)'{-Q,--literal}'[Quote all metacharacters in PATTERN, it is treated as a literal.]' \
'(--smart-case --no-smart-case)--smart-case[Ignore case in the search strings if PATTERN contains no uppercase characters.]' \
'(--sort-files)--sort-files[Sorts the found files lexically.]' \
'(--show-types)--show-types[Outputs the filetypes that ack associates with each file.]' \
'(--thpppt)--thpppt[Display the all-important Bill The Cat logo. Note that the exact spelling of --thpppppt is not important. It'\''s checked against a regular expression.]' \
'--type[Specify the types of files to include or exclude from a search.]:type:_ack_types' \
'--type-add[Files with the given EXTENSION(s) are recognized as being of type TYPE.]:type-def:_ack_type_defs' \
'--type-set[Files with the given EXTENSION(s) are recognized as being of type TYPE.]:type-def:_ack_type_defs' \
'(-u --unrestricted -a --all)'{-u,--unrestricted}'[All files and directories (including blib/, core.*, ...) are searched, nothing is skipped.]' \