From be39ab9fdbaba118ece1dcc3e064c8452fcdd277 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Wed, 16 Nov 2016 16:30:46 +0100 Subject: the manual generator (generator-docs.tes) has been cleaned up and is now called tedoc.tes * some code simplifications * it now supports command line arguments via getopt.tes. * the -C flag enabled C/C++ mode. By default tedoc parses SciTECO code which means it can be used to document macro packages as well. * Therefore it is installed as a separate tool now. It may be used as a Groff preprocessor for third-party macro authors to generate (wo)man pages. * there's a man page tedoc.tes(1) * The troff placeholder macro is now called ".TEDOC". * Help topics can now be specified after the starting comment /*$ or !*$. Topics have been defined for all built-in commands. --- doc/tedoc.tes | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100755 doc/tedoc.tes (limited to 'doc/tedoc.tes') diff --git a/doc/tedoc.tes b/doc/tedoc.tes new file mode 100755 index 0000000..623be3a --- /dev/null +++ b/doc/tedoc.tes @@ -0,0 +1,129 @@ +#!/usr/local/bin/sciteco -m +!* tedoc.tes [-C] [--] *! + +:EMQ[$SCITECOPATH]/getopt.tes + +@[format_header]{ + FD--S .U.f :L"S.|Z'U.t Q.f,Q.tXa Q.f,Q.tD I^J + + EBQ#tm + I\# GENERATED FROM Q.#sc (\.#sc):^J + I.SS  Ga -A-10"N I^J ' + :Q.[topics]"> + I.SCITECO_TOPIC  G.[topics] + ' + + EQ.[header] + J + J < + SMA; .U.t + 1Ua <."=1;' -A"A|1;' -A"V -1Ua 1;' R> + Qa"S + Q.tJ + | + .,Q.tXa .,Q.tD + I^J.B Qa^J + ' + > + J < + S[MC]; .U.t -S[ .,Q.t-1Xa .-1,Q.tD + I^J.RI [ Qa ]^J + > + J \(->;> + J < + SMCM[|MC]; + .U.t <-A"C|-A-|"N1;'' R> + .,Q.tXa .,Q.tD EQa + + EQ.[header] + I^J.IR Qa^J + > + J + J + J + J 0A-10"=D' + ZJ -A-10"=-D' + EBQ#tm + G.[header] + I^J.^J +} + +@[format_body]{ + I.LP^J + + J + J + !* set margin for list paragraphs *! + J 0U.n < + Z-.-3"<1;' + .,.+3:S.LP"S + Q.n"> + 0L I.RE^J 0U.n + ' + | + .,.+3:S.IP"S + Q.n"=0L I.RS^J %.n ' + ' + ' + :L; + > + Q.n"> ZJ I^J.RE ' + J ; -D I^J -S< -D I^J.I > + J + J + EBN#tm + G.c I^J.^J.^J +} + +!* process command-line options *! +[optstring]C M[getopt]"F (0/0) ' +:Q[getopt.C]"< + [comment.start]!* [comment.end]*! +| + [comment.start]/* [comment.end]*/ +' +LR 0X#ou +2LR 0X#tm EBN#tm EB L +[.f + <:L;R 0X.f EBQ.f EB L> +].f +-EF + +I\# +\# AUTOGENERATED FROM Q#tm +\# DO NOT EDIT MANUALLY!!! +\#^J + +!* find insertion point *! +FS^J.TEDOC^J^J + +EJ-1< + < + 2U* EU.#scQ* + + !* extract comment *! + SQ[comment.start]$; + .-:Q[comment.start]-1U.#sc + SQ[comment.end] + Q.#sc+:Q[comment.start]+1,.-:Q[comment.end]X.c + EQ.c + + J + J 0A-10"N X.[topics] K ' + <0A-10"N 0A- "N 0A-9"N 1; ' ' ' D> + ZJ <-A-10"N -A- "N -A-9"N 1; ' ' ' -D> + + !* extract header *! + H:FD^J^J"F ZJ ' + 0,.X.[header] 0,.D + + EQ.[header] + :M[format_header] + EQ.c + :M[format_body] + > + EF +> + +EWQ#ou +EX -- cgit v1.2.3