himalaya/src/lib.rs
2021-09-13 15:32:01 +02:00

50 lines
1.8 KiB
Rust

//! # Welcome to Himalaya!
//! Here's a little summary of how to read the code of himalaya:
//! Each module includes three "main" files:
//! - `model.rs`: **The "main" file** of each module which includes the main implementation of the given
//! module.
//! - `cli.rs`: Includes the subcommands and arguments which are related to the module.
//!
//! For example the `read` subcommand is in the `msg/cli.rs` file because it's related to the
//! msg you want to read.
//!
//! - `mod.rs`: Includes all other files in the module. Click [here] for more information.
//!
//! [here]: https://doc.rust-lang.org/book/ch07-02-defining-modules-to-control-scope-and-privacy.html
/// `comp` stands for `completion`. This module makes it possible to create autocompletion-settings
/// for himalaya for your shell :)
pub mod comp;
/// Everything which is related to the config files. For example the structure of your config file.
pub mod config;
/// A often used-struct to help us to access the most often used structs.
pub mod ctx;
/// A wrapper for representing a flag of a message or mailbox. For example the delete-flag or
/// read-flag.
pub mod flag;
/// A wrapper for creating connections easier to the IMAP-Servers.
pub mod imap;
/// Handles the input-interaction with the user. For example if you want to edit the body of your
/// message, his module takes care of the draft and calls your ~(neo)vim~ your favourite editor.
pub mod input;
/// Everything which is related to mboxes, for example creating or deleting some.
pub mod mbox;
/// Includes everything related to a message. This means: Body, Headers, Attachments, etc.
pub mod msg;
/// Handles the output. For example the JSON and HTML output.
pub mod output;
/// This module takes care for sending your mails!
pub mod smtp;
pub mod domain;
pub mod ui;