2001-04-02 13:44:39 +02:00
|
|
|
#compdef a2ps
|
|
|
|
|
|
|
|
# This is for the GNU version of a2ps.
|
|
|
|
|
2003-08-21 14:55:35 +02:00
|
|
|
if [[ "$words[1]" != "$_cache_a2ps_cmd" ]]; then
|
2001-04-02 13:44:39 +02:00
|
|
|
local descr
|
|
|
|
|
2003-08-21 14:55:35 +02:00
|
|
|
_cache_a2ps_cmd="$words[1]"
|
2001-04-02 13:44:39 +02:00
|
|
|
|
|
|
|
descr=( "${(@)${(f@)$(_call_program features LC_ALL=C $words[1] --list=features)//
|
|
|
|
/ }:#}" )
|
|
|
|
|
2003-08-21 14:55:35 +02:00
|
|
|
_cache_a2ps_values=(
|
|
|
|
"${descr[(r)Known [Ss]tyle [Ss]heets*]#* }"
|
|
|
|
"${descr[(r)Known [Ee]ncodings*]#* }"
|
|
|
|
"${descr[(r)Known [Mm]edia*]#* }"
|
|
|
|
"${descr[(r)Known [Pp]rologues*]#* }"
|
|
|
|
"${descr[(r)Known PostScript Printer Descriptions*]#* }"
|
|
|
|
"${descr[(r)Known [Oo]utputs*]#* }"
|
|
|
|
"${descr[(r)Known [Uu]ser [Oo]ptions*]#* }"
|
|
|
|
"${descr[(r)Known Variables*]#* }"
|
2001-04-02 13:44:39 +02:00
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2005-03-01 12:57:48 +01:00
|
|
|
integer ret=1
|
|
|
|
local context state line expl
|
|
|
|
typeset -A opt_args
|
|
|
|
|
2003-08-21 14:55:35 +02:00
|
|
|
_arguments \
|
|
|
|
'(-E --pretty-print=)'{-E-,--pretty-print=}"[enable pretty-printing]::language:(${_cache_a2ps_values[1]})" \
|
|
|
|
\*{-D+,--define=}"[set or unset variable]:variable:(${_cache_a2ps_values[8]})" \
|
2005-03-01 12:57:48 +01:00
|
|
|
'(-d -P --printer)'{-P,--printer=}"[send output to printer]:printer:->printers" \
|
2003-08-21 14:55:35 +02:00
|
|
|
'(-A --file-align)'{-A,--file-align=}'[specify alignment of separate files]:mode:(virtual rank page sheet)' \
|
|
|
|
'(-a --pages)'{-a-,--pages=}'[select pages to print]:page range' \
|
|
|
|
'(-q --quiet --silent -v --verbose)'{-q,--quiet,--silent}'[quiet output]' \
|
|
|
|
'(-q --quiet --silent -v --verbose)'{-v-,--verbose=}'[verbose output]:level' \
|
|
|
|
'(-b --header)'{-b-,--header=}'[set the page header]:text' \
|
|
|
|
'(-g)--highlight-level=:highlight:(none normal heavy)' \
|
|
|
|
'--list=:topic:(features delegations encodings media prologues printers style-sheets user-options variables)' \
|
|
|
|
"--user-option=:user option:(${_cache_a2ps_values[7]})" \
|
|
|
|
{-M,--medium=}":medium:(${_cache_a2ps_values[3]})" \
|
|
|
|
"--ppd=::printer description:(${_cache_a2ps_values[5]})" \
|
|
|
|
'--statusdict=:statusdict definition' \
|
|
|
|
'--setpagedevice=:page device definition' \
|
|
|
|
'--margin=:margin size (PostScript points)' \
|
|
|
|
'--toc=:format' \
|
|
|
|
--{{center,left,right}-title.underlay,{,left-,right-}footer}'=:text' \
|
|
|
|
'*:input file:_files' -- \
|
|
|
|
'*\*:toggle:(yes no)' \
|
|
|
|
'*=DIRECTION:direction:(rows columns)' \
|
|
|
|
'*=TYPE:type:((r\:CR mac\:CR unix\:LF n\:LF nr\:LFCR rn\:CRLF pc\:CRLF any auto))' \
|
|
|
|
'--version-control*:version control:(none off t numbered nil existing never simple)' \
|
|
|
|
'--strip-level*:strip level:((0\:everything\ is\ printed 1\:regular\ comments\ are\ not\ printed 2\:strong\ comments\ are\ not\ printed 3\:no\ comment\ is\ printed))' \
|
|
|
|
'--sides=*:mode:(simplex duplex tumble)' \
|
|
|
|
'--non-printable-format*:format:(caret space question-mark octal hexa emacs)' \
|
|
|
|
"--encoding*:encoding:(${_cache_a2ps_values[2]})" \
|
2005-03-01 12:57:48 +01:00
|
|
|
"--prologue*::prologue:(${_cache_a2ps_values[4]})" && ret=0
|
|
|
|
|
|
|
|
if [[ $state = printers ]]; then
|
|
|
|
_wanted printers expl printer compadd -- ${=_cache_a2ps_values[6]} && ret=0
|
|
|
|
_printers && ret=0
|
|
|
|
fi
|
|
|
|
|
|
|
|
return ret
|