1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#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 expl 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 to library file search path]:directory:_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
|