pub fn inicializar_plataforma() {
#[cfg(windows)]
configurar_console_utf8();
#[cfg(windows)]
habilitar_ansi_windows();
}
#[cfg(windows)]
fn configurar_console_utf8() {
use windows_sys::Win32::System::Console::{SetConsoleCP, SetConsoleOutputCP};
unsafe {
SetConsoleOutputCP(65001); SetConsoleCP(65001);
}
}
#[cfg(windows)]
fn habilitar_ansi_windows() {
use colored::control;
if control::set_virtual_terminal(true).is_err() {
control::set_override(false);
}
}
#[cfg(test)]
mod testes {
use super::*;
#[test]
fn testa_inicializar_plataforma_nao_faz_panic() {
inicializar_plataforma();
}
#[cfg(not(windows))]
#[test]
fn testa_inicializar_plataforma_e_noop_em_nao_windows() {
inicializar_plataforma();
inicializar_plataforma();
inicializar_plataforma();
}
}