mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi: Fix argument description indentation stripping
When an argument's description starts on the line after the "#arg: " line, indentation is stripped only from the description's first line, as demonstrated by the previous commit. Moreover, subsequent lines with less indentation are not rejected. Make the first line's indentation the expected indentation for the remainder of the description. This fixes indentation stripping, and also requires at least that much indentation. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20230428105429.1687850-12-armbru@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
a87a9b4d4f
commit
9b2c6746d3
2 changed files with 12 additions and 10 deletions
|
@ -483,7 +483,9 @@ class QAPIDoc:
|
|||
# Blank lines are always OK.
|
||||
if line:
|
||||
indent = must_match(r'\s*', line).end()
|
||||
if indent < self._indent:
|
||||
if self._indent < 0:
|
||||
self._indent = indent
|
||||
elif indent < self._indent:
|
||||
raise QAPIParseError(
|
||||
self._parser,
|
||||
"unexpected de-indent (expected at least %d spaces)" %
|
||||
|
@ -631,9 +633,9 @@ class QAPIDoc:
|
|||
indent = must_match(r'@\S*:\s*', line).end()
|
||||
line = line[indent:]
|
||||
if not line:
|
||||
# Line was just the "@arg:" header; following lines
|
||||
# are not indented
|
||||
indent = 0
|
||||
# Line was just the "@arg:" header
|
||||
# The next non-blank line determines expected indent
|
||||
indent = -1
|
||||
else:
|
||||
line = ' ' * indent + line
|
||||
self._start_args_section(name[1:-1], indent)
|
||||
|
@ -666,9 +668,9 @@ class QAPIDoc:
|
|||
indent = must_match(r'@\S*:\s*', line).end()
|
||||
line = line[indent:]
|
||||
if not line:
|
||||
# Line was just the "@arg:" header; following lines
|
||||
# are not indented
|
||||
indent = 0
|
||||
# Line was just the "@arg:" header
|
||||
# The next non-blank line determines expected indent
|
||||
indent = -1
|
||||
else:
|
||||
line = ' ' * indent + line
|
||||
self._start_features_section(name[1:-1], indent)
|
||||
|
@ -712,8 +714,8 @@ class QAPIDoc:
|
|||
indent = must_match(r'\S*:\s*', line).end()
|
||||
line = line[indent:]
|
||||
if not line:
|
||||
# Line was just the "Section:" header; following lines
|
||||
# are not indented
|
||||
# Line was just the "Section:" header
|
||||
# The next non-blank line determines expected indent
|
||||
indent = 0
|
||||
else:
|
||||
line = ' ' * indent + line
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue