Documentation for a specific sub should appear above the sub. The declaration starts with ;** and is followed by an unlimited number of lines that start with ;*. The declaration ends with the sub header. The number of white space before and inbetween tags is unlimited.
The long description is given without tags. The <p> tag may be applied to denote a new paragram in the long description. All other tags are stripped.
;**
;* Extracts a part of a string. Note: if %2 isn't in %1 it will
;* return null; if %3 isn't in %1 it will return from %2 to end of %1.
;* Requires high linesPerCycle to work efficiently.
;*
;* @author Rolo
;* @purpose Extracts a part of a string.
;* @param %1 string req String to extract from
;* %2 left req Left of string
;* %3 right opt Right of string
;* %4 return opt Name of return value ('return' by default)
;* @return @%4 is the string in %1 between %2 and %3
;* @example call string.txt extract ___<string>___ < > token
;* display ok %token
sub extract
..
returnThe @changes tag describes the global variables changed by the sub.
Format:
;* @changes { description }The @deprecated tag denotes that a sub is deprecated.
Format:
;* @deprecated { description }The @example tag describes an example of how to use the sub.
Format:
;* @example { codeline }
;* { codeline }The @internal tag denotes a sub internal to the library and should not be used externally.
Format: ;* @internal
The @param tag describes the parameters when calling the sub.
Format:
;* @param { param number } { param name } { req | opt } { Description }
;* { param number } { param name } { req | opt } { Description }
The @purpose tag describes the purpose (in one line) of the sub.
Format:
;* @purpose { description }