use std::path::PathBuf;
#[derive(
Debug,
Clone,
Copy,
Default,
PartialEq,
Eq,
Hash,
serde::Deserialize,
serde::Serialize,
strum::EnumString,
strum::Display,
)]
#[serde(rename_all = "kebab-case")]
#[strum(serialize_all = "kebab-case")]
pub enum DynamicUsages {
#[default]
Allow,
Warn,
Deny,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Deserialize)]
#[serde(default, deny_unknown_fields)]
pub struct UsageConfig {
pub roots: Vec<PathBuf>,
pub dynamic: DynamicUsages,
pub functions: Vec<String>,
pub respect_ignore_files: bool,
pub respect_gitignore: bool,
}
impl Default for UsageConfig {
fn default() -> Self {
Self {
roots: Vec::new(),
dynamic: DynamicUsages::default(),
functions: vec!["t".into(), "$t".into(), "translate".into()],
respect_ignore_files: true,
respect_gitignore: true,
}
}
}