diff --git a/.gitignore b/.gitignore index ea8c4bf..91938a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ /target +*.log +*.txt +*.yaml diff --git a/Cargo.toml b/Cargo.toml index 0e30ba6..b52b89a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,3 +8,4 @@ edition = "2018" [dependencies] lang-evolve-core = { path = "../lang-evolve-core"} +clap = "3.0.0-beta.1" diff --git a/src/main.rs b/src/main.rs index e7a11a9..b2de824 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,21 @@ +use std::fs::File; +use std::io::prelude::*; + +use lang_evolve_core::settings::Settings; + +mod opts; +use opts::Opts; +use clap::Clap; + fn main() { - println!("Hello, world!"); + lang_evolve_core::init().unwrap(); + + let opts: Opts = Opts::parse(); + let settings = Settings::from(opts.settings).unwrap(); + let mut input_file = File::open(opts.input).unwrap(); + let mut input = String::new(); + input_file.read_to_string(&mut input).unwrap(); + + println!("{:?}", settings); + println!("{}", settings.apply(input).unwrap()); } diff --git a/src/opts.rs b/src/opts.rs new file mode 100644 index 0000000..c947266 --- /dev/null +++ b/src/opts.rs @@ -0,0 +1,11 @@ +use clap::Clap; + +#[derive(Clap, Debug)] +#[clap(version = "0.1", author = "Lucien \"Phundrak\" Cartier-Tilet ")] +pub struct Opts { + #[clap(short, long)] + pub input: String, + + #[clap(short, long)] + pub settings: String, +}