Go to file
Manos Pitsidianakis 5a53020f3d
Add debug-tracing feature to all crates
The feature needs to be defined in all manifests in order to be enabled
in all crates.
2019-09-23 09:36:46 +03:00
benches melib: remove BackendOpGenerator 2019-07-18 20:14:14 +03:00
debug_printer Fix warnings, lints, and 2018 errors 2019-06-18 21:14:14 +03:00
melib Add debug-tracing feature to all crates 2019-09-23 09:36:46 +03:00
scripts scripts: remove auto-rustfmt from pre-commit hook 2019-06-10 19:40:33 +03:00
src ui: add timer tick every 300ms 2019-09-22 11:00:05 +03:00
testing Add debug-tracing feature to all crates 2019-09-23 09:36:46 +03:00
text_processing Bump version to 0.3.0 2019-09-16 16:44:04 +03:00
ui Add debug-tracing feature to all crates 2019-09-23 09:36:46 +03:00
.gdbinit add experimental gdb debug lib 2019-06-10 19:40:50 +03:00
.gitignore mailbox: add threads 2019-06-10 19:11:47 +03:00
Cargo.toml Turn off debug tracing prints in stderr by default 2019-09-21 21:29:33 +03:00
COPYING mailbox: add threads 2019-06-10 19:11:47 +03:00
Makefile add Makefile for installation 2019-09-16 16:41:22 +03:00
meli.1 update manual page and add meli.conf(5) 2019-09-16 16:40:29 +03:00
meli.conf.5 update manual page and add meli.conf(5) 2019-09-16 16:40:29 +03:00
README Restore accidentally removed README 2019-09-22 22:51:34 +03:00
rustfmt.toml Run rustfmt 2019-06-10 19:40:39 +03:00
sample-config update manual page and add meli.conf(5) 2019-09-16 16:40:29 +03:00

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

After installing meli, see meli(1) and meli.conf(5) for documentation.

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

# make

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

Run:

# make install

to install the binary and man pages. This requires root, so I suggest you override the default paths and install it in your $HOME:

# make PREFIX=$HOME/.local install

See meli(1) and meli.conf(5) for documentation.

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