1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-19 21:44:11 +01:00
zsh/Completion/Unix/Command/_gs
2001-04-02 11:52:36 +00:00

58 lines
1.5 KiB
Plaintext

#compdef gs ghostscript
if compset -N --; then
if [[ CURRENT -eq 1 ]]; then
_pspdf
else
_message '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 '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 '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