[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 09/23] qapi/source: allow multi-line QAPISourceInfo advancing
From: |
Markus Armbruster |
Subject: |
Re: [PATCH 09/23] qapi/source: allow multi-line QAPISourceInfo advancing |
Date: |
Fri, 20 Dec 2024 14:22:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
John Snow <jsnow@redhat.com> writes:
> This is for the sake of the new rST generator (the "transmogrifier") so
> we can advance multiple lines on occasion while keeping the
> generated<-->source mappings accurate.
>
> next_line now simply takes an optional n parameter which chooses the
> number of lines to advance.
>
>
> RFC: Here's the exorbitant detail on why I want this:
>
> This is used mainly when converting section syntax in free-form
> documentation to more traditional rST section header syntax, which
> does not always line up 1:1 for line counts.
>
> For example:
>
> ```
> ##
> # = Section <-- Info is pointing here, "L1"
> #
> # Lorem Ipsum
> ##
> ```
>
> would be transformed to rST as:
>
> ```
> ======= <-- L1
> Section <-- L1
> ======= <-- L1
> <-- L2
> Lorem Ipsum <-- L3
> ```
I can't help to wonder... Could we simply use rST markup instead?
"Later", "maybe later", or even "please ask me later" would be perfectly
acceptable answers.
> After consuming the single "Section" line from the source, we want to
> advance the source pointer to the next non-empty line which requires
> jumping by more than one line.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> scripts/qapi/source.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/qapi/source.py b/scripts/qapi/source.py
> index 7b379fdc925..ffdc3f482ac 100644
> --- a/scripts/qapi/source.py
> +++ b/scripts/qapi/source.py
> @@ -47,9 +47,9 @@ def set_defn(self, meta: str, name: str) -> None:
> self.defn_meta = meta
> self.defn_name = name
>
> - def next_line(self: T) -> T:
> + def next_line(self: T, n: int = 1) -> T:
> info = copy.copy(self)
> - info.line += 1
> + info.line += n
> return info
>
> def loc(self) -> str:
Assuming we need this:
Reviewed-by: Markus Armbruster <armbru@redhat.com>
- [PATCH 02/23] qapi/parser: adjust info location for doc body section, (continued)
- [PATCH 02/23] qapi/parser: adjust info location for doc body section, John Snow, 2024/12/12
- [PATCH 04/23] qapi: expand tags to all doc sections, John Snow, 2024/12/12
- [PATCH 05/23] qapi/schema: add __repr__ to QAPIDoc.Section, John Snow, 2024/12/12
- [PATCH 06/23] docs/qapidoc: add transmogrifier stub, John Snow, 2024/12/12
- [PATCH 07/23] docs/qapidoc: add transmogrifier class stub, John Snow, 2024/12/12
- [PATCH 08/23] docs/qapidoc: add visit_module() method, John Snow, 2024/12/12
- [PATCH 09/23] qapi/source: allow multi-line QAPISourceInfo advancing, John Snow, 2024/12/12
- Re: [PATCH 09/23] qapi/source: allow multi-line QAPISourceInfo advancing,
Markus Armbruster <=
- [PATCH 10/23] docs/qapidoc: add visit_freeform() method, John Snow, 2024/12/12
- [PATCH 11/23] docs/qapidoc: add preamble() method, John Snow, 2024/12/12
- [PATCH 12/23] docs/qapidoc: add visit_paragraph() method, John Snow, 2024/12/12
- [PATCH 14/23] docs/qapidoc: add format_type() method, John Snow, 2024/12/12
- [PATCH 15/23] docs/qapidoc: add add_field() and generate_field() helper methods, John Snow, 2024/12/12
- [PATCH 13/23] docs/qapidoc: add visit_errors() method, John Snow, 2024/12/12
- [PATCH 16/23] docs/qapidoc: add visit_feature() method, John Snow, 2024/12/12