diff --git a/scripts/lint.py b/scripts/lint.py index 04912fb..3c45b15 100755 --- a/scripts/lint.py +++ b/scripts/lint.py @@ -68,6 +68,14 @@ def lint(path: Path) -> list[str]: dimensions = check_unique(source, DIM_RE, "axis", errors) roles = check_unique(source, ROLE_RE, "role", errors) + for match in ROLE_KEY_RE.finditer(source): + role = match.group(1) + if role not in roles: + errors.append( + f"line {line_of(source, match.start())}: role {role!r} is used " + f"before \\stsetrole" + ) + formula_positions = [m.start() for m in re.finditer(r"\\sttopformula\b", source)] row_ends = [m.start() for m in re.finditer(r"\\strowend\b", source)] if not formula_positions and "allow-missing-formula" not in allowed: