John Snow <js...@redhat.com> writes: > The double-colon synax is rST formatting that precedes a literal code > block. We do not want to capture these as QAPI-specific sections. > > Coerce blocks that start with e.g. "Example::" to be parsed as untagged > paragraphs instead of special tagged sections. > > Signed-off-by: John Snow <js...@redhat.com> > --- > scripts/qapi/parser.py | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py > index 53b06a94508..971fdf61a09 100644 > --- a/scripts/qapi/parser.py > +++ b/scripts/qapi/parser.py > @@ -545,10 +545,15 @@ def get_doc(self) -> 'QAPIDoc': > line = self.get_doc_indented(doc) > no_more_args = True > elif match := re.match( > - r'(Returns|Errors|Since|Notes?|Examples?|TODO): *', > - line): > + r'(Returns|Errors|Since|Notes?|Examples?|TODO)' > + r'(?!::): *', > + line, > + ): > # tagged section > > + # Note: "sections" with two colons are left alone as > + # rST markup and not interpreted as a section heading. > + > # TODO: Remove this error sometime in 2025 or so > # after we've fully transitioned to the new qapidoc > # generator.
Patch looks good, but let's add a positive test to doc-good.json.