diff --git a/src/fomod.rs b/src/fomod.rs index 273f01d..61c5296 100644 --- a/src/fomod.rs +++ b/src/fomod.rs @@ -2,6 +2,8 @@ // https://github.com/luctius/fomod/ // Original license: MIT / Apache-2.0 +use std::{error::Error, fs, path::Path}; + use serde::{Deserialize, Serialize}; #[derive(Debug, Deserialize, PartialEq)] @@ -41,6 +43,15 @@ pub struct Config { pub conditional_file_installs: Option, } +impl Config { + pub fn load_from_file(path: impl AsRef) -> Result> { + let data = fs::read_to_string(path)?; + let config = quick_xml::de::from_str(&data)?; + + Ok(config) + } +} + #[derive( Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq, PartialOrd, Ord, Hash, Default, )]