Beancount txn parser/writer in Emacs Lisp?

Hi friends,

Over the last years I seem to have implemented some hacky parts of this here and there, and was about to start working on pulling it together properly into a library, and perhaps even publishing it at some point. However I thought I would check around and see if anyone else did it already (as I have a bad habit of re-implementing things that already exist).

I searched the official Beancount mailing list, as well as the Library section of the PTA website, but only found some Rust and tree-sitter based parsers[0]. Maybe that's a better way to go about it, but I don't know Rust (nor tree-sitter) and so...

Why else? Because I don't particularly like Python, I just prefer working on my books in Emacs and often find myself writing my own tools in Emacs Lisp (generally speaking).

I plan on sending this to the Beancount mailing list, as well as maybe r/plaintextaccounting, so apologies if you frequent any of those and see it duplicated.

Any thoughts would be appreciated.

[0] Which seem to be, to date, apparently WIP/incomplete(?).

I am very pleased to announce the initial release of my parser/writer library!

beancount-txn-elisp

A library to read/parse and write/insert individual Beancount transactions, implemented in Emacs Lisp.

Please try to break it! :smiley: And let me know if you are successful.

https://sr.ht/~trs-80/beancount-txn-elisp/

2 Likes