diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index e7a11a9..b8677cb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,23 @@ -fn main() { - println!("Hello, world!"); +#[path = "2020/mod.rs"] +mod year2020; + +#[derive(Debug, structopt::StructOpt)] +#[structopt(about = "Advent of Code")] +enum Opt { + #[structopt(name = "2020")] + Year2020 { day: u8, puzzle: u8 }, +} + +#[paw::main] +fn main(opt: Opt) { + let res = match opt { + Opt::Year2020 { day, puzzle } => crate::year2020::run(day, puzzle), + }; + match res { + Ok(()) => {} + Err(e) => { + eprintln!("{}", e); + std::process::exit(1); + } + } } |