DEVELOPMENT ENVIRONMENT

~liljamo/aoc2024

ref: 961f7e621a0e12ee193962f94e73a7f8f2e00cd6 aoc2024/src/main.rs -rw-r--r-- 631 bytes
961f7e62Jonni Liljamo chore: clean main 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)]
        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(())
}