use std::env;
use std::fs::File;
use std::io::{BufReader, Read};
use std::path::PathBuf;
pub fn load_env() {
let base_dir = env!("CARGO_MANIFEST_DIR");
let p = PathBuf::from(base_dir).join(".env");
let file = match File::open(&p) {
Ok(f) => f,
Err(_e) => {
panic!("Couldn't find .env file. at {:?}", p);
}
};
let mut reader = BufReader::new(file);
let mut content = String::new();
let _n = match reader.read_to_string(&mut content) {
Ok(n) => n,
Err(e) => panic!("Couldn't read from buffer.\n{e}"),
};
for line in content.lines() {
let parts: Vec<&str> = line.splitn(2, '=').collect();
if parts.len() == 2 {
let key = parts[0].trim();
let value = parts[1].trim();
env::set_var(key, value);
}
}
}