Skip to content

Commit a6c32b0

Browse files
committed
Stop attempting to convert previously-converted headers
1 parent 9d8d81a commit a6c32b0

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

scripts/reformat_docs.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ def is_block_valid(self, block):
9595
def convert_sections(self, block):
9696
return [self.format_module(block)]
9797

98+
def needs_new_header(self, file_contents):
99+
return (re.search(r'^\/\/\/ \\file$', file_contents, flags=re.MULTILINE)
100+
is None)
101+
98102

99103
class FunctionFormatter(GenericFormatter):
100104
def __init__(self, doc_width):
@@ -188,6 +192,7 @@ def convert_sections(self, block):
188192

189193
def replace_block(
190194
block_contents,
195+
file_contents,
191196
file,
192197
header_formatter,
193198
class_formatter,
@@ -199,9 +204,12 @@ def replace_block(
199204
{f.name: f.contents for f in parse_fields(block_contents.group(1))})
200205

201206
if header_formatter.is_block_valid(block):
202-
return '%s%s\n' % (
203-
block_contents.group(0),
204-
header_formatter.convert(header_from_block(block)))
207+
converted = header_formatter.convert(header_from_block(block))
208+
if header_formatter.needs_new_header(file_contents) and converted:
209+
return '%s%s' % (
210+
block_contents.group(0),
211+
header_formatter.convert(header_from_block(block)) + '\n')
212+
return block_contents.group(0)
205213

206214
if class_formatter.is_block_valid(block):
207215
return class_formatter.convert(class_from_block(block))
@@ -231,6 +239,7 @@ def convert_file(file, inplace):
231239
new_contents = block_re.sub(
232240
lambda match: replace_block(
233241
match,
242+
contents,
234243
file,
235244
header_formatter,
236245
class_formatter,

0 commit comments

Comments
 (0)