use std::path::Path;
use anyhow::Result;
use modde_core::collision::{CollisionClassifier, CollisionSeverity};
pub struct CyberpunkCollisionClassifier;
impl CollisionClassifier for CyberpunkCollisionClassifier {
fn index_archive(&self, _archive_path: &Path) -> Result<Vec<(String, u64)>> {
Ok(Vec::new())
}
fn classify_severity(&self, file_path: &str) -> CollisionSeverity {
let ext = file_path
.rsplit('.')
.next()
.unwrap_or("")
.to_lowercase();
match ext.as_str() {
"reds" | "lua" | "tweak" | "xl" | "yaml" | "yml" | "dll" => {
CollisionSeverity::Dangerous
}
"ini" | "cfg" | "json" | "toml" => CollisionSeverity::Config,
"archive" | "png" | "jpg" | "dds" | "tga" => CollisionSeverity::Cosmetic,
_ => CollisionSeverity::Unknown,
}
}
fn archive_extensions(&self) -> &[&str] {
&[]
}
}