diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-01 22:42:54 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-01 22:42:54 -0500 |
commit | 7e29679b6208380e37aa70a8511f6f42922eaa8e (patch) | |
tree | 2ba29f7187480681c87b0b488e19a142fb288eed | |
parent | d8ca5eca153208f30e91ec821ed0acfcc410c273 (diff) | |
download | advent-of-code-7e29679b6208380e37aa70a8511f6f42922eaa8e.tar.gz advent-of-code-7e29679b6208380e37aa70a8511f6f42922eaa8e.zip |
make setting up a new day easier
-rwxr-xr-x | bin/setup | 5 | ||||
-rwxr-xr-x | bin/stub-code | 19 | ||||
-rw-r--r-- | src/2020/mod.rs | 2 | ||||
-rw-r--r-- | src/2021/mod.rs | 2 |
4 files changed, 28 insertions, 0 deletions
diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000..5894743 --- /dev/null +++ b/bin/setup @@ -0,0 +1,5 @@ +#!/bin/sh +set -eu + +./bin/stub-code "$@" +./bin/get-input "$@" diff --git a/bin/stub-code b/bin/stub-code new file mode 100755 index 0000000..aa65af8 --- /dev/null +++ b/bin/stub-code @@ -0,0 +1,19 @@ +#!/bin/sh +set -eu + +day=${1:-$(date +%-d)} +year=${2:-$(date +%Y)} + +mkdir -p src/"$year"/"$day" +cat >src/"$year"/"$day"/mod.rs <<EOF +pub fn part1() -> anyhow::Result<i64> { + todo!() +} + +pub fn part2() -> anyhow::Result<i64> { + todo!() +} +EOF + +perl -pi -E"\$seen_mod = 1 if /mod day$day/; if (!\$seen_mod && /NEXT MOD/) { say '#[path = \"$day/mod.rs\"]'; say 'mod day$day;'; }" src/"$year"/mod.rs +perl -pi -E"\$seen_part = 1 if /day$day::part/; if (!\$seen_part && /NEXT PART/) { say ' ($day, 1) => day$day::part1(),'; say ' ($day, 2) => day$day::part2(),'; }" src/"$year"/mod.rs diff --git a/src/2020/mod.rs b/src/2020/mod.rs index 77a5c38..7a41d7c 100644 --- a/src/2020/mod.rs +++ b/src/2020/mod.rs @@ -16,6 +16,7 @@ mod day7; mod day8; #[path = "9/mod.rs"] mod day9; +// NEXT MOD pub fn run(day: u8, puzzle: u8) -> anyhow::Result<i64> { match (day, puzzle) { @@ -37,6 +38,7 @@ pub fn run(day: u8, puzzle: u8) -> anyhow::Result<i64> { (8, 2) => day8::part2(), (9, 1) => day9::part1(), (9, 2) => day9::part2(), + // NEXT PART _ => Err(anyhow::anyhow!("unknown puzzle {}-{}", day, puzzle)), } } diff --git a/src/2021/mod.rs b/src/2021/mod.rs index 61d61a9..6103c97 100644 --- a/src/2021/mod.rs +++ b/src/2021/mod.rs @@ -1,10 +1,12 @@ #[path = "1/mod.rs"] mod day1; +// NEXT MOD pub fn run(day: u8, puzzle: u8) -> anyhow::Result<i64> { match (day, puzzle) { (1, 1) => day1::part1(), (1, 2) => day1::part2(), + // NEXT PART _ => Err(anyhow::anyhow!("unknown puzzle {}-{}", day, puzzle)), } } |