use crate::prelude::*; #[derive(serde::Deserialize, Default, Debug)] pub struct Config { aliases: std::collections::HashMap, } impl Config { pub fn load() -> Result { let file = crate::dirs::config_file(); if std::fs::metadata(&file).is_ok() { Ok(toml::from_slice(&std::fs::read(&file)?)?) } else { Ok(Self::default()) } } pub fn alias_for( &self, path: &std::path::Path, ) -> Option<&crate::parse::ast::Exe> { self.aliases.get(path) } }