1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
use crate::{
config::LintConfig,
rule::LintRule,
rules::{
at_rule_no_unknown::at_rule_no_unknown, block_no_empty::block_no_empty,
color_hex_length::color_hex_length, color_no_invalid_hex::color_no_invalid_hex,
declaration_no_important::declaration_no_important,
keyframe_declaration_no_important::keyframe_declaration_no_important,
no_empty_source::no_empty_source,
no_invalid_position_at_import_rule::no_invalid_position_at_import_rule,
selector_max_class::selector_max_class, selector_max_combinators::selector_max_combinators,
unit_no_unknown::unit_no_unknown,
},
};
pub mod at_rule_no_unknown;
pub mod block_no_empty;
pub mod color_hex_length;
pub mod color_no_invalid_hex;
pub mod declaration_no_important;
pub mod keyframe_declaration_no_important;
pub mod no_empty_source;
pub mod no_invalid_position_at_import_rule;
pub mod selector_max_class;
pub mod selector_max_combinators;
pub mod unit_no_unknown;
pub struct LintParams<'a> {
pub lint_config: &'a LintConfig,
}
pub fn get_rules(LintParams { lint_config }: &LintParams) -> Vec<Box<dyn LintRule>> {
let rules_config = &lint_config.rules;
vec![
block_no_empty((&rules_config.block_no_empty).into()),
at_rule_no_unknown((&rules_config.at_rule_no_unknown).into()),
no_empty_source((&rules_config.no_empty_source).into()),
declaration_no_important((&rules_config.declaration_no_important).into()),
keyframe_declaration_no_important((&rules_config.keyframe_declaration_no_important).into()),
no_invalid_position_at_import_rule(
(&rules_config.no_invalid_position_at_import_rule).into(),
),
selector_max_class((&rules_config.selector_max_class).into()),
color_hex_length((&rules_config.color_hex_length).into()),
color_no_invalid_hex((&rules_config.color_no_invalid_hex).into()),
unit_no_unknown((&rules_config.unit_no_unknown).into()),
selector_max_combinators((&rules_config.selector_max_combinators).into()),
]
}