docchecker: report context line at most once

This commit is contained in:
timeless 2016-03-03 03:32:44 +00:00
parent 842ddb5e9d
commit 052bc178fc

View File

@ -10,16 +10,23 @@ import sys
import re
leadingline = re.compile(r'(^\s*)(\S.*)$')
hg_backtick = re.compile(r""":hg:`[^`]*'[^`]*`""")
hg_cramped = re.compile(r'\w:hg:`')
checks = [
(r""":hg:`[^`]*'[^`]*`""",
"""warning: please avoid nesting ' in :hg:`...`"""),
(r'\w:hg:`',
'warning: please have a space before :hg:'),
]
def check(line):
if hg_backtick.search(line):
messages = []
for match, msg in checks:
if re.search(match, line):
messages.append(msg)
if messages:
print(line)
print("""warning: please avoid nesting ' in :hg:`...`""")
if hg_cramped.search(line):
print(line)
print('warning: please have a space before :hg:')
for msg in messages:
print(msg)
def work(file):
(llead, lline) = ('', '')