use command_stream::fy::{translate_shell_to_mjs, TranslateOptions};
fn main() {
let Some(path) = std::env::args().nth(1) else {
eprintln!("usage: fy_translate <script.sh>");
std::process::exit(1);
};
let source = match std::fs::read_to_string(&path) {
Ok(source) => source,
Err(error) => {
eprintln!("cannot read '{path}': {error}");
std::process::exit(1);
}
};
let translation = translate_shell_to_mjs(&source, &TranslateOptions::default());
print!("{}", translation.code);
for diagnostic in &translation.diagnostics {
eprintln!("$fy: warning: {diagnostic}");
}
}