Got so annoyed at all the parsing I needed to do in AoC that I created my own crate.

101 points Miammiam100

I feel like I spend most of my time trying to parse the advent of code inputs into something useful. So much so that I decided to make my own crate called "prse" (https://crates.io/crates/prse).

It allows you to easily parse strings using a similar format to the print style macros:

use prse::parse;

let input = "5 + -2 = 3";
let mut total = 0_i32;

let (lhs, rhs): (i32, i32) = parse!(input, "{} + {} = {total}");

assert_eq!(lhs + rhs, total);

I've got other features too such as the ability to parse into a Vec, error reporting and no-std support.

I'll be adding a benchmarking setup, the ability to parse into something else if the first parse fails and actually making my code look nice. But is there anything else I should think about adding?