This commit is contained in:
Max Bradbury 2020-07-01 15:11:55 +01:00
parent 5b18892bb4
commit b82b1fb145
1 changed files with 6 additions and 12 deletions

View File

@ -2,25 +2,19 @@ extern crate bitsy_parser;
use bitsy_parser::game::Game; use bitsy_parser::game::Game;
use std::{env, fs}; use std::{env, fs};
const SYNTAX_ERROR: &str = "No main game specified. Usage: `bitsy-merge main.bitsy additional.bitsy output.bitsy`";
fn main() { fn main() {
let game_a = env::args() let game_a = env::args().nth(1).expect(SYNTAX_ERROR);
.nth(1) let game_b = env::args().nth(2).expect(SYNTAX_ERROR);
.expect("No main game specified. Usage: `bitsy-merge main.bitsy additional.bitsy output.bitsy`"); let output = env::args().nth(3).expect(SYNTAX_ERROR);
// todo allow numerous additional games // todo allow numerous additional games
let game_b = env::args()
.nth(2)
.expect("No additional game specified. Usage: `bitsy-merge main.bitsy additional.bitsy output.bitsy`");
let outfile = env::args()
.nth(3)
.expect("No output file specified. Usage: `bitsy-merge main.bitsy additional.bitsy output.bitsy`");
let mut game_a = Game::from(fs::read_to_string(game_a).unwrap()).unwrap(); let mut game_a = Game::from(fs::read_to_string(game_a).unwrap()).unwrap();
let game_b = Game::from(fs::read_to_string(game_b).unwrap()).unwrap(); let game_b = Game::from(fs::read_to_string(game_b).unwrap()).unwrap();
game_a.merge(game_b); game_a.merge(game_b);
fs::write(outfile, game_a.to_string()) fs::write(output, game_a.to_string())
.expect("Failed to write output file"); .expect("Failed to write output file");
} }