#compdef groff

local _troff_options

_troff_options=('-a[ascii approximation of output]'
       '-b[backtrace on error or warning]'
       '-c[disable color output]'
       '-C[enable compatibility mode]'
       '*-d[define string]:definition:'
       '-E[disable troff error messages]'
       '-f[set default font family]:font family:'
       '-F[set path for font DESC files]:path:'
       '-i[process standard input after specified input files]'
       '-m[include macro file]:name:(man mandoc mdoc me mm ms www)'
       '-M[dir path for macro files]:path:'
       '-n[number for the first page]:number:'
       '-o[output only pages in list]:list:'
       '*-r[set number register]:setting:'
       '*-w[enable warning name]:name:'
       '*-W[disable warning name]:name')

_arguments \
	'-e[preprocess with eqn]' \
        '-g[preprocess with grn]' \
        '-G[preprocess with grap]' \
	'(-h --help)'{-h,--help}'[help]' \
	'-I[add search dir for soelim]:directory:_files -/' \
	'-l[send output to spooler program for printing]' \
	'*-L[pass arg to spooler program]:spooler argument:' \
	"-N[don't allow newlines within eqn delimiters]" \
	'-p[preprocess with pic]' \
	'*-P[pass option to postprocessor]:option:' \
        '-R[preprocess with refer]' \
        '-s[preprocess with soelim]' \
        '(-U)-S[safer mode]' \
        '-t[preprocess with tbl]' \
        '-T[set output device]:device:((ascii\:ASCII\ character\ set cp1047\:EBDIC\ code\ page\ IBM\ cp1047 nippon\:Japanese-EUC\ character\ set dvi\:TeX\ DVI\ format html\:HTML\ output ascii8\:8-bit\ clean latin1\:ISO\ 8859-1 lbp\:Canon\ CAPSL\ printers lj4\:HP\ LaserJet4-compatible\ printers ps\:PostScript\ output utf8\:Unicode\ \(ISO\ 10646\)\ character\ set X75\:75dpi\ X\ Window\ System\ output X75-12\:75dpi\ X\ Window\ System\ output\ \(12pt\) X100\:100dpi\ X\ Window\ System\ output X100-12\:100dpi\ X\ Window\ System\ output\ \(12pt\)))' \
        '(-S)-U[unsafe mode]' \
	'(-v --version)'{-v,--version}'[version]' \
	'-V[output the pipeline that would be run but do not execute]' \
	'-X[use gxditview instead of the usual postprocessor]' \
	'-z[suppress output generated by troff]' \
	'-Z[do not postprocess the output of troff]' \
	"$_troff_options[@]" \
	':file:_files'
