diff --git a/src/bin/bitsy-dedupe.rs b/src/bin/bitsy-dedupe.rs new file mode 100644 index 0000000..733e6ce --- /dev/null +++ b/src/bin/bitsy-dedupe.rs @@ -0,0 +1,16 @@ +extern crate bitsy_parser; +use bitsy_parser::game::Game; +use std::{env, fs}; + +const SYNTAX_ERROR: &str = "No game data specified. Usage: `bitsy-dedupe input.bitsy output.bitsy`"; + +fn main() { + let game = env::args().nth(1).expect(SYNTAX_ERROR); + let output = env::args().nth(2).expect(SYNTAX_ERROR); + + let mut game = Game::from(fs::read_to_string(game).unwrap()).unwrap(); + + game.dedupe_tiles(); + + fs::write(output, game.to_string()).expect("Failed to write output file"); +}