mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
docs/sphinx: create QAPI domain extension stub
A Sphinx domain is a collection of directive and role extensions meant to facilitate the documentation of a specific language. For instance, Sphinx ships with "python" and "cpp" domains. This patch introduces a stub for the "qapi" language domain. Please see https://www.sphinx-doc.org/en/master/usage/domains/index.html for more information. This stub doesn't really do anything yet, we'll get to it brick-by-brick in the forthcoming commits to keep the series breezy and the git history informative. Signed-off-by: John Snow <jsnow@redhat.com> Message-ID: <20250311034303.75779-4-jsnow@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
825b96dbce
commit
ecf92e3618
2 changed files with 64 additions and 1 deletions
56
docs/sphinx/qapi_domain.py
Normal file
56
docs/sphinx/qapi_domain.py
Normal file
|
@ -0,0 +1,56 @@
|
|||
"""
|
||||
QAPI domain extension.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import (
|
||||
TYPE_CHECKING,
|
||||
AbstractSet,
|
||||
Any,
|
||||
Dict,
|
||||
Tuple,
|
||||
)
|
||||
|
||||
from sphinx.domains import Domain, ObjType
|
||||
from sphinx.util import logging
|
||||
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from sphinx.application import Sphinx
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class QAPIDomain(Domain):
|
||||
"""QAPI language domain."""
|
||||
|
||||
name = "qapi"
|
||||
label = "QAPI"
|
||||
|
||||
object_types: Dict[str, ObjType] = {}
|
||||
directives = {}
|
||||
roles = {}
|
||||
initial_data: Dict[str, Dict[str, Tuple[Any]]] = {}
|
||||
indices = []
|
||||
|
||||
def merge_domaindata(
|
||||
self, docnames: AbstractSet[str], otherdata: Dict[str, Any]
|
||||
) -> None:
|
||||
pass
|
||||
|
||||
def resolve_any_xref(self, *args: Any, **kwargs: Any) -> Any:
|
||||
# pylint: disable=unused-argument
|
||||
return []
|
||||
|
||||
|
||||
def setup(app: Sphinx) -> Dict[str, Any]:
|
||||
app.setup_extension("sphinx.directives")
|
||||
app.add_domain(QAPIDomain)
|
||||
|
||||
return {
|
||||
"version": "1.0",
|
||||
"env_version": 1,
|
||||
"parallel_read_safe": True,
|
||||
"parallel_write_safe": True,
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue