mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 21:44:11 +01:00
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
#compdef gs ghostscript
|
|
|
|
if compset -N --; then
|
|
if [[ CURRENT -eq 1 ]]; then
|
|
_pspdf
|
|
else
|
|
_message -e arguments 'userdict ARGUMENTS'
|
|
return 1
|
|
fi
|
|
else
|
|
local curcontext="$curcontext" state line ret=1
|
|
typeset -A opt_args
|
|
|
|
_x_arguments -C \
|
|
'-q[quiet startup]' \
|
|
'-g-[set device size]:device size (<width>x<height>):' \
|
|
'-r-[set resolution]:resolution (<val> or <x>x<y>):' \
|
|
'-I[add search paths]:search paths:_dir_list' \
|
|
\*-{d,D}'-[define name with definition]:def:->dname' \
|
|
\*-{s,S}'-[define name with value]:def:->sname' \
|
|
'*:PostScript or PDF file:_pspdf' && ret=0
|
|
|
|
case "$state" in
|
|
dname)
|
|
if [[ "$PREFIX" = *\=* ]]; then
|
|
_message -e definition-values 'systemdict definition value'
|
|
else
|
|
_wanted names expl 'systemdict definition name' \
|
|
compadd -M 'm:{a-z}={A-Z}' - \
|
|
DISKFONTS NOCACHE NOBIND NODISPLAY NOPAUSE PLATFONTS SAFER \
|
|
WRITESYSTEMDICT && ret=0
|
|
fi
|
|
;;
|
|
sname)
|
|
if compset -P '*='; then
|
|
case "$IPREFIX" in
|
|
*DEVICE\=)
|
|
_wanted devices expl 'ghostscript device' \
|
|
compadd - "${(@)${=${$(_call_program devices gs -h)##* devices:}%%Search path:*}:#}" && ret=0
|
|
;;
|
|
*OutputFile\=)
|
|
_description files expl 'output file'
|
|
_files "$expl[@]" && ret=0
|
|
;;
|
|
*)
|
|
_message -e values 'systemdict value'
|
|
return 1
|
|
esac
|
|
else
|
|
_wanted names expl 'systemdict name' \
|
|
compadd -S\= -M 'm:{a-z}={A-Z}' - DEVICE OutputFile && ret=0
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
return ret
|
|
fi
|