use crate::translator::Language;
use super::colors::PromptColor;
pub(crate) const PROMPT_LANG: &str = "${LANG}";
pub fn language_to_str(language: Language) -> String {
let mut lang_str: String = language.to_string();
if lang_str.len() < 3 {
lang_str.push_str(" ");
}
match language {
Language::Russian => String::from(format!(
"{}{}{}{}{}{}{}",
PromptColor::White.to_string(),
lang_str.chars().nth(0).unwrap(),
PromptColor::Blue.to_string(),
lang_str.chars().nth(1).unwrap(),
PromptColor::Red.to_string(),
lang_str.chars().nth(2).unwrap(),
PromptColor::Reset.to_string()
))
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_prompt_lang_flag() {
let expected_str = String::from("\x1b[37mр\x1b[34mу\x1b[31mс\x1b[0m");
println!("{}", language_to_str(Language::Russian));
assert_eq!(language_to_str(Language::Russian), expected_str);
}
}