#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 (x):' \ '-r-[set resolution]:resolution ( or x):' \ '-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