John Snow <js...@redhat.com> writes: > This method adds the options/preamble to each definition block. Notably, > :since: and :ifcond: are added, as are any "special features" such as > :deprecated: and :unstable:. > > Signed-off-by: John Snow <js...@redhat.com> > --- > docs/sphinx/qapidoc.py | 41 ++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 38 insertions(+), 3 deletions(-) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index cf5dbb0133d..d8bf0073dfa 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -37,7 +37,12 @@ > from docutils.parsers.rst import Directive, directives > from docutils.statemachine import StringList > from qapi.error import QAPIError > -from qapi.schema import QAPISchema, QAPISchemaVisitor > +from qapi.parser import QAPIDoc > +from qapi.schema import ( > + QAPISchema, > + QAPISchemaDefinition, > + QAPISchemaVisitor, > +) > from qapi.source import QAPISourceInfo > > from qapidoc_legacy import QAPISchemaGenRSTVisitor # type: ignore > @@ -56,8 +61,6 @@ > Sequence, > ) > > - from qapi.parser import QAPIDoc > - > from sphinx.application import Sphinx > from sphinx.util.typing import ExtensionMetadata > > @@ -125,6 +128,38 @@ def ensure_blank_line(self) -> None: > # +2: correct for zero/one index, then increment by one. > self.add_line_raw("", fname, line + 2) > > + # Transmogrification helpers > + > + def preamble(self, ent: QAPISchemaDefinition) -> None: > + """ > + Generate option lines for qapi entity directives.
QAPI index unless there's a reason for lower case. > + """ [...]