DEVELOPMENT ENVIRONMENT

~liljamo/aoc2024

ref: c78c079854c84f064098f0ba995ae97acb532eab aoc2024/src/main.rs -rw-r--r-- 671 bytes
c78c0798Jonni Liljamo feat: day2 a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#![allow(clippy::comparison_chain)]
use std::path::PathBuf;

use clap::{Parser, Subcommand};

mod day1;
mod day2;

#[derive(Parser)]
struct Args {
    #[command(subcommand)]
    day: DayArgs,
}

#[derive(Subcommand)]
enum DayArgs {
    Day1 {
        #[arg(short, default_value = "./input/day1/example")]
        input: PathBuf,
    },
    Day2 {
        #[arg(short)]
        input: PathBuf,
    },
}

fn main() -> anyhow::Result<()> {
    let args = Args::parse();

    match args.day {
        DayArgs::Day1 { input } => {
            day1::solve(&input)?;
        }
        DayArgs::Day2 { input } => {
            day2::solve(&input)?;
        }
    }

    Ok(())
}