mu/perl
attila 6b366e7d25 perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
..
lib perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
t perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
LICENSE perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
MANIFEST perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
Makefile.PL perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00
README.md perl: Integrate the mup interface from https://github.com/StAlphonsos/mup 2016-08-26 15:32:24 -05:00

README.md

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.