summary refs log tree commit diff stats
path: root/docs/sphinx
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2025-03-10 23:42:22 -0400
committerMarkus Armbruster <armbru@redhat.com>2025-03-11 10:10:57 +0100
commitd25808c2bc7921e5cd245111212ad7e3b6da3849 (patch)
tree83e0b38013a9401fa3c8fbd2e6c0c5a928f92445 /docs/sphinx
parent1a0c090a5bb3f7bd526224cd166703d6c80ab1ee (diff)
downloadfocaccia-qemu-d25808c2bc7921e5cd245111212ad7e3b6da3849.tar.gz
focaccia-qemu-d25808c2bc7921e5cd245111212ad7e3b6da3849.zip
docs/qapi-domain: add :unstable: directive option
Although "unstable" is a feature (and *will* appear in the features
list), add a special :unstable: option to generate an eye-catch that
makes this information very hard to miss.

The forthcoming Transmogrifier in qapidoc.py will add this option
whenever it detects that the features list attached to a definition
contains the "unstable" entry.

Signed-off-by: Harmonie Snow <harmonie@gmail.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-25-jsnow@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'docs/sphinx')
-rw-r--r--docs/sphinx/qapi_domain.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/sphinx/qapi_domain.py b/docs/sphinx/qapi_domain.py
index b672ae6c50..00fd11ebf7 100644
--- a/docs/sphinx/qapi_domain.py
+++ b/docs/sphinx/qapi_domain.py
@@ -218,6 +218,7 @@ class QAPIObject(QAPIDescription):
             # These are QAPI originals:
             "since": directives.unchanged,
             "deprecated": directives.flag,
+            "unstable": directives.flag,
         }
     )
 
@@ -300,6 +301,13 @@ class QAPIObject(QAPIDescription):
                 "qapi-deprecated",
             )
 
+        if "unstable" in self.options:
+            _add_pip(
+                ":unstable:",
+                f"This {self.objtype} is unstable/experimental.",
+                "qapi-unstable",
+            )
+
         if infopips.children:
             contentnode.insert(0, infopips)