// Sample program. Do not use. use std::env; use std::fs; use std::io::{self, Write}; use std::process; fn main() { let mut o = env::args_os(); // parse CLI let exe = match o.next() { Some(from) => from, None => { eprintln!("Usage: [exe] [from] [to]"); process::exit(1); } }; let from = match o.next() { Some(from) => from, None => { eprintln!("Usage: {} [from] [to]", exe.to_string_lossy()); process::exit(1); } }; let to = match o.next() { Some(from) => from, None => { eprintln!("Usage: {} [from] [to]", exe.to_string_lossy()); process::exit(1); } }; // read files let from_content = match fs::read(&from) { Ok(from_content) => from_content, Err(e) => { eprintln!("Failed to read from-file: {}", e); process::exit(2); } }; let to_content = match fs::read(&to) { Ok(to_content) => to_content, Err(e) => { eprintln!("Failed to read to-file: {}", e); process::exit(2); } }; // run diff io::stdout() .write_all(&unified_diff::diff( &from_content, &from.to_string_lossy(), &to_content, &to.to_string_lossy(), 1, )) .unwrap(); }