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 .. return
The @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 }