qemu/docs/sphinx
John Snow 323c668934 qapi: clean up encoding of section kinds
We have several kinds of sections, and to tell them apart, we use
Section attribute @tag and also the section object's Python type:

              type        @tag
    untagged  Section     None
    @foo:     ArgSection  'foo'
    Returns:  Section     'Returns'
    Errors:   Section     'Errors'
    Since:    Section     'Since'
    TODO:     Section     'TODO'

Note:

* @foo can be a member or a feature description, depending on context.

* tag == 'Since' can be a Since: section or a member or feature
  description.  If it's a Section, it's the former, and if it's an
  ArgSection, it's the latter.

Clean this up as follows.  Move the member or feature name to new
ArgSection attribute @name, and replace @tag by enum @kind like this:

              type         kind     name
    untagged  Section      PLAIN
    @foo:     ArgSection   MEMBER   'foo'   if member or argument
              ArgSection   FEATURE  'foo'   if feature
    Returns:  Section      RETURNS
    Errors:   Section      ERRORS
    Since:    Section      SINCE
    TODO:     Section      TODO

The qapi-schema tests are updated to account for the new section names;
"TODO" becomes "Todo" and `None` becomes "Plain" there.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-34-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2025-03-11 10:10:57 +01:00
..
compat.py docs/qapi-domain: Fix error context reporting in Sphinx 5.x and 6.x 2025-03-11 10:10:57 +01:00
dbusdoc.py docs/sphinx: add sphinx modules to include D-Bus documentation 2021-12-21 10:50:21 +04:00
dbusdomain.py meson: Pass -j option to sphinx 2023-05-18 08:53:50 +02:00
dbusparser.py docs/sphinx: add sphinx modules to include D-Bus documentation 2021-12-21 10:50:21 +04:00
depfile.py docs/sphinx: include kernel-doc script as a dependency 2025-01-17 10:45:38 +00:00
fakedbusdoc.py meson: Pass -j option to sphinx 2023-05-18 08:53:50 +02:00
hxtool.py docs: remove Sphinx 1.x compatibility code 2024-07-12 16:46:21 -04:00
kerneldoc.py docs: remove Sphinx 1.x compatibility code 2024-07-12 16:46:21 -04:00
qapi_domain.py docs/qapi-domain: Fix error context reporting in Sphinx 5.x and 6.x 2025-03-11 10:10:57 +01:00
qapidoc.py qapi: clean up encoding of section kinds 2025-03-11 10:10:57 +01:00
qmp_lexer.py meson: Pass -j option to sphinx 2023-05-18 08:53:50 +02:00