> I saw on GitHub that there's a new Rust port of Ledger being worked
> on.
John was generous enough to give me permission to push to that branch and the
rledger repo. I've been using Ledger for a few years, have some Rust experience
and have written a few ledger adjacent tools in Rust[1]. I've been tinkering
with it and pushing updates. I believe it's currently passing just over 5% of
the regular test suite. That's up from 0% a few weeks ago, but still has a long
way to go: things like automated and periodic transactions are parsing but not
really working, ditto for many directives. Most subcommands, reports and command
line options are either not implemented, yet, or just stubbed for now. But there
is a building application w/ tests that work, so it's been a gratifying
experience to work on.
> I was hoping for an entirely compatible port,
I think that this would be wise, or as close to 100% compatible as possible. Not
only would that ease the update experience, but doing so could – in theory – allow
the project to ship a rewrite/port incrementally: perhaps replacing the C++
parser with a Rust-based-parser, and then expanding out from there, for example.
> Would it be possible to split the parsing code into a separate Rust
> library
I agree that it would be a great to ship a "reference implementation" parser for
general consumption by the community! I've been using another ledger parser for
some of my projects, and would love to use an "official" implementation.
> test suite of ledger2beancount
Noted! Thank you for the heads up! It's been nice to have the existing test
suite to work against and a project like this would benefit from as many
acceptance tests as possible.
Clayton