use std::io::{stdout, Write};
#[allow(dead_code)]
pub fn cleanup_terminal() {
let mut stdout = stdout().lock();
let _ = writeln!(stdout, "\x1B[?25h");
let _ = stdout.flush();
}
#[allow(dead_code)]
pub fn detect_radix(s: &str) -> Option<u32> {
if s.is_empty() {
return None;
}
let s = s.trim().to_uppercase();
let mut max_digit = 0;
for c in s.chars() {
let value = match c {
'0'..='9' => c as u32 - '0' as u32,
'A'..='Z' => c as u32 - 'A' as u32 + 10,
_ => return None, };
max_digit = max_digit.max(value);
}
let radix = max_digit + 1;
if radix < 2 {
Some(2) } else if radix > 36 {
None } else {
Some(radix)
}
}