You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matthias Beyer 6e716946b7
Reformat to be a proper rust comment
5 months ago
benches melib: remove BackendOpGenerator 5 months ago
debug_printer Fix warnings, lints, and 2018 errors 6 months ago
melib Remove unused variable 4 months ago
scripts scripts: remove auto-rustfmt from pre-commit hook 6 months ago
src Reformat to be a proper rust comment 4 months ago
testing text_processing: implement Unicode line breaking algorithm 4 months ago
text_processing Make function pub 4 months ago
ui Print to stderr when printing error 4 months ago
.gdbinit add experimental gdb debug lib 6 months ago
.gitignore mailbox: add threads 6 months ago
COPYING mailbox: add threads 6 months ago
Cargo.toml add --help, --config, --create-config arguments 4 months ago
README Add build instructions in README 5 months ago
meli.1 Add --version command line flag 4 months ago
rustfmt.toml Run rustfmt 6 months ago
sample-config melib: add read-only support for mbox 4 months ago

README

    __
__/ \__
/ \__/ \__ .
\__/ \__/ \ , _ , _ ___ │ '
/ \__ \__/ │' `│ `┒ .' ` │ │
\__/ \__/ \ │ │ │ |────' │ │
\__/ \__/ │ / `.___, /\__ /
\__/
,-.
\_/
terminal mail user agent {|||)<
/ \
`-'

BUILDING
========

meli requires rust 1.34 and rust's package manager, Cargo. Information on how
to get it on your system can be found here:

https://doc.rust-lang.org/cargo/getting-started/installation.html

With Cargo available, the project can be built with

# cargo build --release

The resulting binary will then be found under target/release/meli

You can build and run meli with one command:

# cargo run --release

While the project is in early development, meli will only be developed for the
linux kernel and respected linux distributions. Support for more UNIX-like OSes
is on the roadmap.

DEVELOPMENT
===========

Development builds can be built and/or run with

# cargo build
# cargo run 2> debug.log

The debug logs can be disabled by setting debug-assertions to false in the
development profile in Cargo.toml. In the future debug logs will be a feature.

CONFIG
======

meli by default looks for a configuration file in this location:
# $XDG_CONFIG_HOME/meli/config

You can run meli with arbitrary configuration files by setting the MELI_CONFIG
environment variable to their locations, ie:

# MELI_CONFIG=./test_config cargo run 2> debug.log

TESTING
=======

How to run specific tests:

# cargo test -p {melib, ui, meli} (-- --nocapture) (--test test_name)

PROFILING
=========

# perf record -g target/debug/bin
# perf script | stackcollapse-perf | rust-unmangle | flamegraph > perf.svg