Mercurial > hg
view doc/docchecker @ 28013:e529b5f1b9e3
check-commit: check for double-addition of blank lines
Previously, we were only checking for a blank line being added next to
an existing one. Now we also check for two being added at the same time.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Fri, 05 Feb 2016 16:54:01 -0600 |
parents | 3d1baa702d1a |
children | 72b02b498b35 |
line wrap: on
line source
#!/usr/bin/env python # # docchecker - look for problematic markup # # Copyright 2016 timeless <timeless@mozdev.org> and others # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. import sys import re leadingline = re.compile(r'(^\s*)(\S.*)$') hg_backtick = re.compile(r""":hg:`[^`]*'[^`]*`""") hg_cramped = re.compile(r'\w:hg:`') def check(line): if hg_backtick.search(line): print(line) print("""warning: please avoid nesting ' in :hg:`...`""") if hg_cramped.search(line): print(line) print('warning: please have a space before :hg:') def work(file): (llead, lline) = ('', '') for line in file: # this section unwraps lines match = leadingline.match(line) if not match: check(lline) (llead, lline) = ('', '') continue lead, line = match.group(1), match.group(2) if (lead == llead): if (lline != ''): lline += ' ' + line else: lline = line else: check(lline) (llead, lline) = (lead, line) check(lline) def main(): for f in sys.argv[1:]: try: with open(f) as file: work(file) except: print("failed to process %s" % f) main()