Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: tools/web_dev_style/regex_check.py

Issue 2890513003: Move chrome/browser/web_dev_style/ to tools/ to use from more places (Closed)
Patch Set: tsergeant@ review Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/web_dev_style/presubmit_support.py ('k') | tools/web_dev_style/resource_checker.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 5
6 def RegexCheck(re, line_number, line, regex, msg): 6 def RegexCheck(re, line_number, line, regex, msg):
7 """Searches for |regex| in |line| to check for a particular style 7 """Searches for |regex| in |line| to check for a particular style
8 violation, returning a message like the one below if the regex matches. 8 violation, returning a message like the one below if the regex matches.
9 The |regex| must have exactly one capturing group so that the relevant 9 The |regex| must have exactly one capturing group so that the relevant
10 part of |line| can be highlighted. If more groups are needed, use 10 part of |line| can be highlighted. If more groups are needed, use
11 "(?:...)" to make a non-capturing group. Sample message: 11 "(?:...)" to make a non-capturing group. Sample message:
12 12
13 line 6: Use var instead of const. 13 line 6: Use var instead of const.
14 const foo = bar(); 14 const foo = bar();
15 ^^^^^ 15 ^^^^^
16 """ 16 """
17 17
18 def _highlight(match): 18 def _highlight(match):
19 """Takes a start position and a length, and produces a row of '^'s to 19 """Takes a start position and a length, and produces a row of '^'s to
20 highlight the corresponding part of a string. 20 highlight the corresponding part of a string.
21 """ 21 """
22 return match.start(1) * ' ' + (match.end(1) - match.start(1)) * '^' 22 return match.start(1) * ' ' + (match.end(1) - match.start(1)) * '^'
23 23
24 match = re.search(regex, line) 24 match = re.search(regex, line)
25 if match: 25 if match:
26 assert len(match.groups()) == 1 26 assert len(match.groups()) == 1
27 return ' line %d: %s\n%s\n%s' % (line_number, msg, line, _highlight(match)) 27 return ' line %d: %s\n%s\n%s' % (line_number, msg, line, _highlight(match))
28 return '' 28 return ''
OLDNEW
« no previous file with comments | « tools/web_dev_style/presubmit_support.py ('k') | tools/web_dev_style/resource_checker.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698