#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
use fluent_i18n::{i18n, t};
i18n!("locales", fallback = "en-US");
use std::process::exit;
use typos_git_commit::cli::Cli;
use typos_git_commit::thashmap::THashMap;
fn main() {
let Ok(()) = fluent_i18n::set_locale(None) else {
eprintln!("Error while guessing locale");
eprintln!("Current locale {:?}", fluent_i18n::get_locale());
exit(1);
};
let cli = Cli::analyze();
let hashmap = THashMap::new();
let hashmap = match hashmap.read_typos_file(&cli) {
Ok(t) => t,
Err(e) => {
eprintln!("{}", t!("main-error", {"e" => e.to_string()}));
exit(1);
}
};
if cli.only_list_typos.is_some() {
hashmap.list_typos(&cli);
} else {
hashmap.correct_typos(&cli);
if !cli.noop {
println!("{}", t!("main-review-before"));
}
}
}