Skip to content

Commit

Permalink
Detect invalid rustdoc test commands
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Jan 3, 2021
1 parent 90ccf4f commit da3eef6
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/etc/htmldocck.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ def concat_multi_lines(f):


LINE_PATTERN = re.compile(r'''
(?<=(?<!\S)@)(?P<negated>!?)
(?<=(?<!\S))(?P<invalid>!?)@(?P<negated>!?)
(?P<cmd>[A-Za-z]+(?:-[A-Za-z]+)*)
(?P<args>.*)$
''', re.X | re.UNICODE)
Expand All @@ -233,6 +233,16 @@ def get_commands(template):

negated = (m.group('negated') == '!')
cmd = m.group('cmd')
if m.group('invalid') == '!':
print_err(
lineno,
line,
'Invalid command: `!@{0}{1}`, (help: try with `@!{1}`)'.format(
'!' if negated else '',
cmd,
),
)
continue
args = m.group('args')
if args and not args[:1].isspace():
print_err(lineno, line, 'Invalid template syntax')
Expand Down

0 comments on commit da3eef6

Please sign in to comment.