Message ID | 20240619003012.1753577-13-jsnow@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qapi: convert "Note" and "Example" sections to rST | expand |
John Snow <jsnow@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 <jsnow@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.
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.
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 <jsnow@redhat.com> --- scripts/qapi/parser.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)