A supplementary package for limabean which welcomes contributions, in particular plugins.
Contributions of new plugins are very welcome. Steps to take:
A plugin is simply a Clojure transducer. The function which creates the transducer takes two parameters: the config supplied in the beanfile (or nil if none), and the options extracted from the beanfile, as made available in the REPL as *options*.
Each plugin has its tests in a subdirectory of plugin-tests. At least two tests are expected: with and without config. Additional tests are welcome, but not required.
To avoid a dependency on the limabean-pod Rust binary from limabean, test data is created offline by running a local copy of limabean-pod, and formatted uniformly using zprint. Each test, therefore, is created from a .beancount file. To create the necessary test input and golden output files, run the following command, which required limabean-pod to be on the path.
kiri> clojure -T:build create-plugin-tests
To force all test input and golden output files to be regenerated:
clojure -T:build create-plugin-tests '{:force true}'
For this to work smoothly with correct formatting of Java LocalDate objects, use limabean at least version 0.3.2.
To verify all tests are passing:
kiri> clojure -X:test
For now, only plugins which operate on the fully resolved booked directives are supported. These implement the function booked-xf.
Work is underway to add support for plugins which operate on the raw directives before validation.
Copyright © 2025-26 Simon Guest
Licensed under either of
at your option.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |