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
use crate::linter::Rule; use crate::rules::*; use regex::Regex; use serde_derive::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize)] pub struct Config { #[serde(default)] pub option: ConfigOption, #[serde(default)] pub rules: ConfigRules, } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ConfigOption { #[serde(with = "serde_regex", default)] pub exclude_paths: Vec<Regex>, } include!(concat!(env!("OUT_DIR"), "/config_rules.rs")); impl Default for ConfigOption { fn default() -> Self { toml::from_str("").unwrap() } } impl Default for ConfigRules { fn default() -> Self { toml::from_str("").unwrap() } } #[allow(dead_code)] fn default_as_true() -> bool { true } #[allow(dead_code)] fn default_as_false() -> bool { false } include!(concat!(env!("OUT_DIR"), "/impl_config.rs"));