solidhunter_lib/rules/naming/
mod.rs

1use crate::rules::naming::const_name_snakecase::ConstNameSnakeCase;
2use crate::rules::naming::contract_name_camelcase::ContractNameCamelCase;
3use crate::rules::naming::event_name_camelcase::EventNameCamelCase;
4use crate::rules::naming::foundry_test_functions::FoundryTestFunctions;
5use crate::rules::naming::func_name_mixedcase::FuncNameMixedCase;
6use crate::rules::naming::func_param_name_mixedcase::FuncParamNameMixedCase;
7use crate::rules::naming::modifier_name_mixedcase::ModifierNameMixedcase;
8use crate::rules::naming::named_parameters_mapping::NamedParametersMapping;
9use crate::rules::naming::private_vars_leading_underscore::PrivateVarsLeadingUnderscore;
10use crate::rules::naming::use_forbidden_name::UseForbiddenName;
11use crate::rules::naming::var_name_mixedcase::VarNameMixedCase;
12use crate::rules::types::{RuleEntry, RulesMap};
13use crate::rules::RuleBuilder;
14use std::collections::HashMap;
15
16#[macro_use]
17pub(crate) mod func_param_name_mixedcase;
18pub(crate) mod const_name_snakecase;
19pub(crate) mod contract_name_camelcase;
20pub(crate) mod event_name_camelcase;
21pub(crate) mod foundry_test_functions;
22pub(crate) mod func_name_mixedcase;
23pub(crate) mod modifier_name_mixedcase;
24pub(crate) mod named_parameters_mapping;
25pub(crate) mod private_vars_leading_underscore;
26pub(crate) mod use_forbidden_name;
27pub(crate) mod var_name_mixedcase;
28
29// List all rules
30
31pub fn create_default_rules() -> Vec<RuleEntry> {
32    vec![
33        ContractNameCamelCase::create_default(),
34        FuncNameMixedCase::create_default(),
35        FuncParamNameMixedCase::create_default(),
36        UseForbiddenName::create_default(),
37        EventNameCamelCase::create_default(),
38        ConstNameSnakeCase::create_default(),
39        PrivateVarsLeadingUnderscore::create_default(),
40        VarNameMixedCase::create_default(),
41        ModifierNameMixedcase::create_default(),
42        NamedParametersMapping::create_default(),
43        FoundryTestFunctions::create_default(),
44    ]
45}
46
47pub fn create_rules() -> RulesMap {
48    let mut rules: HashMap<String, RuleBuilder> = HashMap::new();
49
50    rules.insert(
51        contract_name_camelcase::RULE_ID.to_string(),
52        ContractNameCamelCase::create,
53    );
54    rules.insert(
55        named_parameters_mapping::RULE_ID.to_string(),
56        NamedParametersMapping::create,
57    );
58    rules.insert(
59        func_name_mixedcase::RULE_ID.to_string(),
60        FuncNameMixedCase::create,
61    );
62    rules.insert(
63        func_param_name_mixedcase::RULE_ID.to_string(),
64        FuncParamNameMixedCase::create,
65    );
66    rules.insert(
67        use_forbidden_name::RULE_ID.to_string(),
68        UseForbiddenName::create,
69    );
70    rules.insert(
71        event_name_camelcase::RULE_ID.to_string(),
72        EventNameCamelCase::create,
73    );
74    rules.insert(
75        const_name_snakecase::RULE_ID.to_string(),
76        ConstNameSnakeCase::create,
77    );
78    rules.insert(
79        private_vars_leading_underscore::RULE_ID.to_string(),
80        PrivateVarsLeadingUnderscore::create,
81    );
82    rules.insert(
83        var_name_mixedcase::RULE_ID.to_string(),
84        VarNameMixedCase::create,
85    );
86    rules.insert(
87        modifier_name_mixedcase::RULE_ID.to_string(),
88        ModifierNameMixedcase::create,
89    );
90    rules.insert(
91        foundry_test_functions::RULE_ID.to_string(),
92        FoundryTestFunctions::create,
93    );
94
95    rules
96}