pub mod alias;
pub mod cli;
pub mod modules;
pub mod utils;
use alias::AliasMan;
use anyhow::{Ok, Result};
use std::{fs::read_to_string, io::Write, path::Path};
use utils::file_utils::*;
use utils::shell_utils::{get_info, get_shell};
pub fn setup_aliasman() -> Result<AliasMan> {
let [cfg, alias] = get_info(get_shell().as_str());
if Path::new(cfg.as_str()).exists() {
let bash_content = read_to_string(cfg.as_str())?;
if !bash_content.contains(alias.as_str()) {
let import_content = if cfg.contains("fish") {
"\nsource "
} else {
"\n. "
};
let mut bash = mod_file(cfg.as_str())?;
bash.write_all(import_content.as_bytes())?;
bash.write_all(alias.as_bytes())?;
}
}
Ok(AliasMan::new(alias.as_str()))
}