From 052bc178fc2d5d42470d5e3599e92379b69c4123 Mon Sep 17 00:00:00 2001 From: timeless Date: Thu, 3 Mar 2016 03:32:44 +0000 Subject: [PATCH] docchecker: report context line at most once --- doc/docchecker | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/doc/docchecker b/doc/docchecker index 4ad3d731e4..bb74046e47 100755 --- a/doc/docchecker +++ b/doc/docchecker @@ -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) = ('', '')