mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
check for uses to be sorted
This commit is contained in:
parent
ec07178b6f
commit
009f6f63ad
1 changed files with 16 additions and 2 deletions
|
@ -174,6 +174,9 @@ def check_rust(file_name, contents):
|
||||||
contents = contents.splitlines(True)
|
contents = contents.splitlines(True)
|
||||||
comment_depth = 0
|
comment_depth = 0
|
||||||
merged_lines = ''
|
merged_lines = ''
|
||||||
|
|
||||||
|
uses = []
|
||||||
|
|
||||||
for idx, line in enumerate(contents):
|
for idx, line in enumerate(contents):
|
||||||
# simplify the analysis
|
# simplify the analysis
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
|
@ -248,8 +251,19 @@ def check_rust(file_name, contents):
|
||||||
if match:
|
if match:
|
||||||
yield (idx + 1, "missing space before {")
|
yield (idx + 1, "missing space before {")
|
||||||
|
|
||||||
if line.startswith("use ") and "{" in line and "}" not in line:
|
# imports must be in the same line and alphabetically sorted
|
||||||
|
if line.startswith("use "):
|
||||||
|
use = line[4:]
|
||||||
|
match = use.find('{')
|
||||||
|
if match >= 0 and "}" not in use[match:]:
|
||||||
yield (idx + 1, "use statement spans multiple lines")
|
yield (idx + 1, "use statement spans multiple lines")
|
||||||
|
uses.append(use[:len(use) - 1])
|
||||||
|
elif len(uses) > 0:
|
||||||
|
sorted_uses = sorted(uses)
|
||||||
|
for i in range(len(uses)):
|
||||||
|
if sorted_uses[i] != uses[i]:
|
||||||
|
yield (idx + 1 - len(uses) + i, "use statement is not in alphabetical order")
|
||||||
|
uses = []
|
||||||
|
|
||||||
|
|
||||||
def check_webidl_spec(file_name, contents):
|
def check_webidl_spec(file_name, contents):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue