docs/qapi-domain: add :since: directive option

Add a little special markup for registering "Since:" information. Adding
it as an option instead of generic content lets us hoist the information
into the Signature bar, optionally put it in the index, etc.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-15-jsnow@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
John Snow 2025-03-10 23:42:12 -04:00 committed by Markus Armbruster
parent 758bbdcd12
commit 700d51a45c

View file

@ -214,6 +214,8 @@ class QAPIObject(QAPIDescription):
{
# Borrowed from the Python domain:
"module": directives.unchanged, # Override contextual module name
# These are QAPI originals:
"since": directives.unchanged,
}
)
@ -227,7 +229,17 @@ class QAPIObject(QAPIDescription):
def get_signature_suffix(self) -> List[nodes.Node]:
"""Return a suffix to put after the object name in the signature."""
return []
ret: List[nodes.Node] = []
if "since" in self.options:
ret += [
SpaceNode(" "),
addnodes.desc_sig_element(
"", f"(Since: {self.options['since']})"
),
]
return ret
def handle_signature(self, sig: str, signode: desc_signature) -> Signature:
"""