mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
357c04e06b
This is fixing for 'must indent 4 spaces' check-code rule. check-code has overlooked this, because a file isn't recognized as one to be checked (this problem is fixed by subsequent patch).
55 lines
1.4 KiB
Python
Executable File
55 lines
1.4 KiB
Python
Executable File
#!/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()
|