mu/perl/README.md

1.4 KiB

mup

mup is a perl interface to mu (GitHub), a Maildir indexing and search system that also implements the core functionality needed by pretty much any MUA.

mup replicates the API described in the mu-server(1) man page in a pleasingly Perly style. It is licensed under the ISC license, a simplified variant of the BSD license.

mup works in the same way the elisp code in mu4e does: it forks a mu-server process and communicates with it. I use the Data::SExpression CPAN module to deal with mu-server's LISPy result syntax, which we transform into the obvious hashrefian results our callers crave (they've got electrolytes).

Tests

I use standard perl testing stuff (Test::More). The tests all operate on a temporary Maildir/mu index created by t/lib.pm. If you are interested in hacking on or understanding the tests you should first look at t/lib.pm to see how the temporary setup is created and torn down. All tests should have

use t::lib;

in them somewhere near the top. This is all that is necessary to make sure the code in the test does not e.g. hose down your actual ~/Maildir and/or ~/.mu.