Rules: Keep a persistent context for token rules

This will be needed to build a clean indentation checking algorithm.
This commit is contained in:
Adrien Vergé
2016-01-15 17:01:44 +01:00
parent f09aef4f89
commit d617eb70ae
11 changed files with 16 additions and 11 deletions

View File

@@ -38,12 +38,17 @@ def get_costemic_problems(buffer, conf):
token_rules = [r for r in rules if r.TYPE == 'token']
line_rules = [r for r in rules if r.TYPE == 'line']
context = {}
for rule in token_rules:
context[rule.ID] = {}
for elem in parser.token_or_line_generator(buffer):
if isinstance(elem, parser.Token):
for rule in token_rules:
rule_conf = conf[rule.ID]
for problem in rule.check(rule_conf,
elem.curr, elem.prev, elem.next):
elem.curr, elem.prev, elem.next,
context[rule.ID]):
problem.rule = rule.ID
problem.level = rule_conf['level']
yield problem