summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs24
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);
+ }
+ }
}