use config::Config; use std::{hash::{DefaultHasher, Hash, Hasher}, path::PathBuf}; pub mod config; pub mod log; pub fn load_config() -> Config { if let Ok(path_str) = std::env::var("XDG_CONFIG_HOME") { let mut path = PathBuf::from(path_str); path.push("aliveline"); path.push("config.toml"); return Config::load(path); } Config::new(PathBuf::from("./config.toml")) } /// Get random-like color id in range 0..16 by computing string hash pub fn color_id_from_name(name: String) -> i32 { let mut s = DefaultHasher::new(); name.hash(&mut s); let hash = s.finish(); (hash.count_ones() / 4) as i32 }