solidhunter_lib/rules/order/
mod.rs

1use crate::rules::types::{RuleEntry, RulesMap};
2use std::collections::HashMap;
3
4#[macro_use]
5pub(crate) mod import_on_top;
6pub(crate) mod ordering;
7pub(crate) mod visibility_modifier_order;
8
9// List all rules
10use crate::rules::order::import_on_top::ImportOnTop;
11use crate::rules::order::ordering::Ordering;
12use crate::rules::order::visibility_modifier_order::VisibilityModiferOrder;
13use crate::rules::RuleBuilder;
14
15pub fn create_default_rules() -> Vec<RuleEntry> {
16    vec![
17        ImportOnTop::create_default(),
18        Ordering::create_default(),
19        VisibilityModiferOrder::create_default(),
20    ]
21}
22
23pub fn create_rules() -> RulesMap {
24    let mut rules: HashMap<String, RuleBuilder> = HashMap::new();
25
26    rules.insert(import_on_top::RULE_ID.to_string(), ImportOnTop::create);
27    rules.insert(ordering::RULE_ID.to_string(), Ordering::create);
28    rules.insert(
29        visibility_modifier_order::RULE_ID.to_string(),
30        VisibilityModiferOrder::create,
31    );
32
33    rules
34}