qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 13/17] qapi: Relax doc string @name: description indentation


From: Markus Armbruster
Subject: Re: [PATCH 13/17] qapi: Relax doc string @name: description indentation rules
Date: Tue, 09 May 2023 09:41:20 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Juan Quintela <quintela@redhat.com> writes:

> Markus Armbruster <armbru@redhat.com> wrote:
>> The QAPI schema doc comment language provides special syntax for
>> command and event arguments, struct and union members, alternate
>> branches, enumeration values, and features: descriptions starting with
>> "@name:".
>>
>> By convention, we format them like this:
>>
>>     # @name: Lorem ipsum dolor sit amet, consectetur adipiscing elit,
>>     #        sed do eiusmod tempor incididunt ut labore et dolore
>>     #        magna aliqua.
>>
>> Okay for names as short as "name", but we have much longer ones.  Their
>> description gets squeezed against the right margin, like this:
>>
>>     # @dirty-sync-missed-zero-copy: Number of times dirty RAM 
>> synchronization could
>>     #                               not avoid copying dirty pages. This is 
>> between
>>     #                               0 and @dirty-sync-count * 
>> @multifd-channels.
>>     #                               (since 7.1)
>>
>> The description text is effectively just 50 characters wide.  Easy
>> enough to read, but can be cumbersome to write.
>>
>> The awkward squeeze against the right margin makes people go beyond it,
>> which produces two undesirables: arguments about style, and descriptions
>> that are unnecessarily hard to read, like this one:
>>
>>     # @postcopy-vcpu-blocktime: list of the postcopy blocktime per vCPU.  
>> This is
>>     #                           only present when the postcopy-blocktime 
>> migration capability
>>     #                           is enabled. (Since 3.0)
>>
>> We could instead format it like
>>
>>     # @postcopy-vcpu-blocktime:
>>     # list of the postcopy blocktime per vCPU.  This is only present
>>     # when the postcopy-blocktime migration capability is
>>     # enabled. (Since 3.0)
>>
>> or, since the commit before previous, like
>>
>>     # @postcopy-vcpu-blocktime:
>>     #          list of the postcopy blocktime per vCPU.  This is only present
>>     #          when the postcopy-blocktime migration capability is
>>     #          enabled. (Since 3.0)
>>
>> However, I'd rather have
>>
>>     # @postcopy-vcpu-blocktime: list of the postcopy blocktime per vCPU.
>>     #     This is only present when the postcopy-blocktime migration
>>     #     capability is enabled.  (Since 3.0)
>>
>> because this is how rST field and option lists work.
>>
>> To get this, we need to let the first non-blank line after the
>> "@name:" line determine expected indentation.
>>
>> This fills up the indentation pitfall mentioned in
>> docs/devel/qapi-code-gen.rst.  A related pitfall still exists.  Update
>> the text to show it.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
> Reviewed-by: Juan Quintela <quintela@redhat.com>
>
>> ---
>>  docs/devel/qapi-code-gen.rst          | 10 ++--
>>  scripts/qapi/parser.py                | 73 +++++++--------------------
>>  tests/qapi-schema/doc-bad-indent.err  |  2 +-
>>  tests/qapi-schema/doc-bad-indent.json |  3 +-
>
> bad order of files
>
>>  tests/qapi-schema/doc-good.json       |  3 +-
>>  tests/qapi-schema/doc-good.out        |  3 +-
>
> good order of files
>
> Should we tweak orderfiles so it displays first the json, and the err or
> out files. reviewing json and then output makes things (at least to me)
> simpler.

I'll look into it.

Thanks!




reply via email to

[Prev in Thread] Current Thread [Next in Thread]