docs/qapidoc: add visit_module() method

This method annotates the start of a new module, crediting the source
location to the first line of the module file.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-41-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:38 -04:00 committed by Markus Armbruster
parent bd7c1496aa
commit 5edd7411c4

View file

@ -28,6 +28,7 @@ from __future__ import annotations
from contextlib import contextmanager
import os
from pathlib import Path
import sys
from typing import TYPE_CHECKING
@ -121,6 +122,14 @@ class Transmogrifier:
# +2: correct for zero/one index, then increment by one.
self.add_line_raw("", fname, line + 2)
# Transmogrification core methods
def visit_module(self, path: str) -> None:
name = Path(path).stem
# module directives are credited to the first line of a module file.
self.add_line_raw(f".. qapi:module:: {name}", path, 1)
self.ensure_blank_line()
class QAPISchemaGenDepVisitor(QAPISchemaVisitor):
"""A QAPI schema visitor which adds Sphinx dependencies each module