mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 10:48:32 +00:00
![]() # This commit was automatically generated by running the following # script (followed by `cargo +nightly fmt`): import glob import re from typing import NamedTuple class Rule(NamedTuple): code: str name: str path: str def rules() -> list[Rule]: """Returns all the rules defined in `src/registry.rs`.""" file = open('src/registry.rs') rules = [] while next(file) != 'ruff_macros::define_rule_mapping!(\n': continue while (line := next(file)) != ');\n': line = line.strip().rstrip(',') if line.startswith('//'): continue code, path = line.split(' => ') name = path.rsplit('::')[-1] rules.append(Rule(code, name, path)) return rules code2name = {r.code: r.name for r in rules()} for pattern in ('src/**/*.rs', 'ruff_cli/**/*.rs', 'ruff_dev/**/*.rs', 'scripts/add_*.py'): for name in glob.glob(pattern, recursive=True): with open(name) as f: text = f.read() text = re.sub('Rule(?:Code)?::([A-Z]\w+)', lambda m: 'Rule::' + code2name[m.group(1)], text) text = re.sub(r'(?<!"<FilePattern>:<)RuleCode\b', 'Rule', text) text = re.sub('(use crate::registry::{.*, Rule), Rule(.*)', r'\1\2', text) # fix duplicate import with open(name, 'w') as f: f.write(text) |
||
---|---|---|
.. | ||
benchmarks | ||
add_plugin.py | ||
add_rule.py |