DEVELOPMENT ENVIRONMENT

~liljamo/aoc2024

ref: e7712b210e6f57dad3ec2170862538c4ee3b118e aoc2024/src/main.rs -rw-r--r-- 1.5 KiB
e7712b21Jonni Liljamo chore: clippy, because i can't just keep ignoring it 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
use std::path::PathBuf;

use clap::{Parser, Subcommand};

mod day1;
mod day2;
mod day3;
mod day4;
mod day5;
mod day6;
mod day7;
mod day8;

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

#[derive(Subcommand)]
enum DayArgs {
    Day1 {
        #[arg(short)]
        input: PathBuf,
    },
    Day2 {
        #[arg(short)]
        input: PathBuf,
    },
    Day3 {
        #[arg(short)]
        input: PathBuf,
    },
    Day4 {
        #[arg(short)]
        input: PathBuf,
    },
    Day5 {
        #[arg(short)]
        input: PathBuf,
    },
    Day6 {
        #[arg(short)]
        input: PathBuf,
    },
    Day7 {
        #[arg(short)]
        input: PathBuf,
    },
    Day8 {
        #[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)?;
        }
        DayArgs::Day3 { input } => {
            day3::solve(&input)?;
        }
        DayArgs::Day4 { input } => {
            day4::solve(&input)?;
        }
        DayArgs::Day5 { input } => {
            day5::solve(&input)?;
        }
        DayArgs::Day6 { input } => {
            day6::solve(&input)?;
        }
        DayArgs::Day7 { input } => {
            day7::solve(&input)?;
        }
        DayArgs::Day8 { input } => {
            day8::solve(&input)?;
        }
    }

    Ok(())
}