Mercurial > public > mercurial-scm > hg-stable
comparison contrib/check-code.py @ 19310:30ea54660d14
check-code: introduce function for using re2 when available
Do it similar as in mercurial.util. For simplicity only support flag
multiline which is the only one used.
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Sat, 08 Jun 2013 20:20:14 +0200 |
parents | 7d77fa1cd537 |
children | 9de689d20230 |
comparison
equal
deleted
inserted
replaced
19309:7d77fa1cd537 | 19310:30ea54660d14 |
---|---|
8 # GNU General Public License version 2 or any later version. | 8 # GNU General Public License version 2 or any later version. |
9 | 9 |
10 import re, glob, os, sys | 10 import re, glob, os, sys |
11 import keyword | 11 import keyword |
12 import optparse | 12 import optparse |
13 try: | |
14 import re2 | |
15 except ImportError: | |
16 re2 = None | |
17 | |
18 def compilere(pat, multiline=False): | |
19 if multiline: | |
20 pat = '(?m)' + pat | |
21 if re2: | |
22 try: | |
23 return re2.compile(pat) | |
24 except re2.error: | |
25 pass | |
26 return re.compile(pat) | |
13 | 27 |
14 def repquote(m): | 28 def repquote(m): |
15 t = re.sub(r"\w", "x", m.group('text')) | 29 t = re.sub(r"\w", "x", m.group('text')) |
16 t = re.sub(r"[^\s\nx]", "o", t) | 30 t = re.sub(r"[^\s\nx]", "o", t) |
17 return m.group('quote') + t + m.group('quote') | 31 return m.group('quote') + t + m.group('quote') |