Atd.DocSourceSupport for <doc text="..."> annotations:
type foo = Bar of int <doc text="This type represents foo values.">
This allows code generators to inject the documentation into the generated code.
<doc> nodes that appear in the following positions should be taken into account by code generators that care about documentation:
Formats:
Currently only one format called "text" is supported:
\{\{ \}\} can be used to enclose inline verbatim text.\{\{\{ \}\}\} can be used to enclose verbatim text where whitespace is preserved.\ , \{\{ and \{\{\{. In inline verbatim text, special sequences are \ and \}\}. In verbatim text, special sequences are \ and \}\}\}.Character encoding: UTF-8 is strongly recommended, if not plain ASCII.
type block = | Paragraph of inline list| Pre of string listParagraph is a regular paragraph. Pre is preformatted text that was enclosed within \{\{\{ \}\}\}, and then broken up into lines. Leading space is removed evenly from each line. It should be rendered using a fixed-width font preserving spaces and line breaks.
Print documentation in ATD's "text" format. This performs whitespace normalization, i.e. some non-significant whitespace is removed and newlines are inserted if needed to ensure that {{{ and }}} are on their own line.
This is for checking the placement of <doc ...> annotations.
Rewrap a paragraph of text.
This generic utility splits a string into lines where the "words" defined by any sequence of non-whitespace characters are separated by a single space character. Each line will not exceed max_length bytes unless a word is longer than this maximum length.
The result is a list of lines that are not newline-terminated.