# hledger-parser
[](https://coveralls.io/github/ngalaiko/hledger-parser?branch=master)
parser for hledger journals powered by [chumsky][]
## goals
* parse plaintext .journals into structured data to build tools on top
## non goals
* re-build hledger in rust
## current state
public beta
it's able to parse [cheatsheet][] and my personal ledger (which is quite extensive)
i don't like the api so far, so it will probably change
things i don't like:
* year directive - it is only used for parsing, probably no reason to export it?
* decimal mark directive - same thing
* error messages
* period::interval type definitions
## binary
a small binary comes with this lib that i found helpful during development and testing
```sh
> cargo run --features cli -- --help
Usage: hledger-parser --ledger-file <LEDGER_FILE>
Options:
--ledger-file <LEDGER_FILE> [env: LEDGER_FILE=/path/to/ledger.journal]
-h, --help Print help
```
[chumsky]: https://github.com/zesterer/chumsky
[cheatsheet]: ./examples/fixture/cheatsheet.journal