Skip to main content

rigsql_rules/
lib.rs

1pub mod rule;
2pub mod utils;
3mod violation;
4
5pub mod aliasing;
6pub mod capitalisation;
7pub mod convention;
8pub mod layout;
9
10pub use rule::{apply_fixes, CrawlType, Rule, RuleContext, RuleGroup};
11pub use violation::{LintViolation, Severity, SourceEdit};
12
13/// Returns all default rules.
14pub fn default_rules() -> Vec<Box<dyn Rule>> {
15    vec![
16        // Capitalisation
17        Box::new(capitalisation::cp01::RuleCP01::default()),
18        Box::new(capitalisation::cp02::RuleCP02::default()),
19        Box::new(capitalisation::cp03::RuleCP03),
20        Box::new(capitalisation::cp04::RuleCP04),
21        Box::new(capitalisation::cp05::RuleCP05::default()),
22        // Layout
23        Box::new(layout::lt01::RuleLT01),
24        Box::new(layout::lt02::RuleLT02::default()),
25        Box::new(layout::lt03::RuleLT03),
26        Box::new(layout::lt04::RuleLT04::default()),
27        Box::new(layout::lt05::RuleLT05::default()),
28        Box::new(layout::lt06::RuleLT06),
29        Box::new(layout::lt07::RuleLT07),
30        Box::new(layout::lt08::RuleLT08),
31        Box::new(layout::lt09::RuleLT09),
32        Box::new(layout::lt10::RuleLT10),
33        Box::new(layout::lt11::RuleLT11),
34        Box::new(layout::lt12::RuleLT12),
35        Box::new(layout::lt13::RuleLT13),
36        Box::new(layout::lt14::RuleLT14),
37        Box::new(layout::lt15::RuleLT15),
38        // Convention
39        Box::new(convention::cv01::RuleCV01::default()),
40        Box::new(convention::cv02::RuleCV02),
41        Box::new(convention::cv03::RuleCV03),
42        Box::new(convention::cv04::RuleCV04),
43        Box::new(convention::cv05::RuleCV05),
44        Box::new(convention::cv06::RuleCV06),
45        Box::new(convention::cv07::RuleCV07),
46        Box::new(convention::cv08::RuleCV08),
47        Box::new(convention::cv09::RuleCV09::default()),
48        Box::new(convention::cv10::RuleCV10),
49        Box::new(convention::cv11::RuleCV11),
50        Box::new(convention::cv12::RuleCV12),
51        // Aliasing
52        Box::new(aliasing::al01::RuleAL01),
53        Box::new(aliasing::al02::RuleAL02),
54        Box::new(aliasing::al03::RuleAL03),
55        Box::new(aliasing::al04::RuleAL04),
56        Box::new(aliasing::al05::RuleAL05),
57        Box::new(aliasing::al06::RuleAL06),
58        Box::new(aliasing::al07::RuleAL07::default()),
59        Box::new(aliasing::al08::RuleAL08),
60        Box::new(aliasing::al09::RuleAL09),
61    ]
62}