Mercurial > hg
view doc/docchecker @ 28155:7f430b2ac7fd
extensions: add notloaded method to return extensions failed to load
Before this patch, there is no easy way to detect if there are extensions
failed to load. While this is okay for most situations, chgserver is designed
to preload all extensions specified in config and does need the information.
This patch adds extensions.notloaded() to return names of extensions failed
to load.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 10 Feb 2016 16:59:34 +0000 |
parents | c00f67c15c5a |
children | 9934362978e1 |
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 BaseException as e: print("failed to process %s: %s" % (f, e)) main()