use serde::Deserialize; use std::fs; use std::path::Path; #[derive(Deserialize)] pub struct Config { pub update: Option, pub build: Option, pub install: Option, pub dependencies: Option>, } impl Config { pub fn new>(filepath: P) -> Option { let contents = match fs::read_to_string(filepath) { Ok(c) => c, Err(_) => { eprintln!("no package config found"); return None; } }; let config: Config = toml::from_str(&contents).expect("failed to parse config"); Some(config) } }