summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock62
-rw-r--r--Cargo.toml35
-rw-r--r--Makefile11
-rw-r--r--debug_printer/Cargo.toml17
-rw-r--r--debug_printer/src/lib.rs44
-rw-r--r--melib/src/email/list_management.rs2
-rw-r--r--src/bin.rs83
-rw-r--r--src/cache.rs (renamed from ui/src/cache.rs)15
-rw-r--r--src/components.rs (renamed from ui/src/components.rs)15
-rw-r--r--src/components/contacts.rs (renamed from ui/src/components/contacts.rs)0
-rw-r--r--src/components/contacts/contact_list.rs (renamed from ui/src/components/contacts/contact_list.rs)0
-rw-r--r--src/components/mail.rs (renamed from ui/src/components/mail.rs)2
-rw-r--r--src/components/mail/compose.rs (renamed from ui/src/components/mail/compose.rs)2
-rw-r--r--src/components/mail/listing.rs (renamed from ui/src/components/mail/listing.rs)3
-rw-r--r--src/components/mail/listing/compact.rs (renamed from ui/src/components/mail/listing/compact.rs)2
-rw-r--r--src/components/mail/listing/conversations.rs (renamed from ui/src/components/mail/listing/conversations.rs)2
-rw-r--r--src/components/mail/listing/plain.rs (renamed from ui/src/components/mail/listing/plain.rs)2
-rw-r--r--src/components/mail/listing/thread.rs (renamed from ui/src/components/mail/listing/thread.rs)2
-rw-r--r--src/components/mail/pgp.rs (renamed from ui/src/components/mail/pgp.rs)2
-rw-r--r--src/components/mail/status.rs (renamed from ui/src/components/mail/status.rs)0
-rw-r--r--src/components/mail/view.rs (renamed from ui/src/components/mail/view.rs)2
-rw-r--r--src/components/mail/view/envelope.rs (renamed from ui/src/components/mail/view/envelope.rs)2
-rw-r--r--src/components/mail/view/html.rs (renamed from ui/src/components/mail/view/html.rs)2
-rw-r--r--src/components/mail/view/thread.rs (renamed from ui/src/components/mail/view/thread.rs)2
-rw-r--r--src/components/notifications.rs (renamed from ui/src/components/notifications.rs)2
-rw-r--r--src/components/utilities.rs (renamed from ui/src/components/utilities.rs)2
-rw-r--r--src/components/utilities/widgets.rs (renamed from ui/src/components/utilities/widgets.rs)2
-rw-r--r--src/conf.rs (renamed from ui/src/conf.rs)9
-rw-r--r--src/conf/accounts.rs (renamed from ui/src/conf/accounts.rs)7
-rw-r--r--src/conf/composing.rs (renamed from ui/src/conf/composing.rs)2
-rw-r--r--src/conf/listing.rs (renamed from ui/src/conf/listing.rs)0
-rw-r--r--src/conf/notifications.rs (renamed from ui/src/conf/notifications.rs)0
-rw-r--r--src/conf/pager.rs (renamed from ui/src/conf/pager.rs)2
-rw-r--r--src/conf/pgp.rs (renamed from ui/src/conf/pgp.rs)0
-rw-r--r--src/conf/shortcuts.rs (renamed from ui/src/conf/shortcuts.rs)0
-rw-r--r--src/conf/tags.rs (renamed from ui/src/conf/tags.rs)2
-rw-r--r--src/conf/terminal.rs (renamed from ui/src/conf/terminal.rs)2
-rw-r--r--src/conf/themes.rs (renamed from ui/src/conf/themes.rs)12
-rw-r--r--src/execute.rs (renamed from ui/src/execute.rs)4
-rw-r--r--src/execute/actions.rs (renamed from ui/src/execute/actions.rs)2
-rw-r--r--src/execute/history.rs (renamed from ui/src/execute/history.rs)2
-rw-r--r--src/mailcap.rs (renamed from ui/src/mailcap.rs)3
-rw-r--r--src/plugins.rs (renamed from ui/src/plugins.rs)2
-rw-r--r--src/plugins/backend.rs (renamed from ui/src/plugins/backend.rs)0
-rwxr-xr-xsrc/plugins/python3/ansi-plugin.py (renamed from ui/src/plugins/python3/ansi-plugin.py)0
-rw-r--r--src/plugins/python3/libmeliapi.py (renamed from ui/src/plugins/python3/libmeliapi.py)0
-rwxr-xr-xsrc/plugins/python3/nntp-backend.py (renamed from ui/src/plugins/python3/nntp-backend.py)0
-rw-r--r--src/plugins/rpc.rs (renamed from ui/src/plugins/rpc.rs)0
-rw-r--r--src/sqlite3.rs (renamed from ui/src/sqlite3.rs)15
-rw-r--r--src/state.rs (renamed from ui/src/state.rs)12
-rw-r--r--src/terminal.rs (renamed from ui/src/terminal.rs)5
-rw-r--r--src/terminal/cells.rs (renamed from ui/src/terminal/cells.rs)53
-rw-r--r--src/terminal/embed.rs (renamed from ui/src/terminal/embed.rs)2
-rw-r--r--src/terminal/embed/grid.rs (renamed from ui/src/terminal/embed/grid.rs)2
-rw-r--r--src/terminal/keys.rs (renamed from ui/src/terminal/keys.rs)10
-rw-r--r--src/terminal/position.rs (renamed from ui/src/terminal/position.rs)2
-rw-r--r--src/terminal/text_editing.rs (renamed from ui/src/terminal/text_editing.rs)2
-rw-r--r--src/types.rs (renamed from ui/src/types.rs)14
-rw-r--r--src/types/helpers.rs (renamed from ui/src/types/helpers.rs)2
-rw-r--r--src/unix.rs (renamed from ui/src/lib.rs)189
-rw-r--r--src/workers.rs (renamed from ui/src/workers.rs)4
-rw-r--r--testing/Cargo.toml3
-rw-r--r--testing/src/email_parse.rs29
-rw-r--r--testing/src/imap_conn.rs9
-rw-r--r--tests/generating_email.rs2
-rw-r--r--ui/Cargo.toml41
-rw-r--r--ui/src/components/indexer.rs134
-rw-r--r--ui/src/components/indexer/index.rs185
-rwxr-xr-xui/src/sample-plugin.py133
69 files changed, 320 insertions, 892 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 72c3b4bf..ca5bae4b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -237,15 +237,6 @@ dependencies = [
]
[[package]]
-name = "debug_printer"
-version = "0.0.1"
-dependencies = [
- "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
- "melib 0.4.1",
- "ui 0.4.1",
-]
-
-[[package]]
name = "dirs"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -743,13 +734,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
name = "meli"
version = "0.4.1"
dependencies = [
+ "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
+ "linkify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"melib 0.4.1",
"nix 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "notify 4.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "notify-rust 3.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rmp 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rmp-serde 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rmpv 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rusqlite 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"signal-hook 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
"signal-hook-registry 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "ui 0.4.1",
+ "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "text_processing 0.4.1",
+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "xdg-utils 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -1840,37 +1851,6 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
-name = "ui"
-version = "0.4.1"
-dependencies = [
- "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
- "linkify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "melib 0.4.1",
- "nix 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "notify 4.0.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "notify-rust 3.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rmp 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "rmp-serde 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rmpv 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "rusqlite 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.92 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "text_processing 0.4.1",
- "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "xdg-utils 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
name = "unicase"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index 8247ec91..a92df14b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,21 +14,44 @@ crossbeam = "0.7.2"
signal-hook = "0.1.12"
signal-hook-registry = "1.2.0"
nix = "0.16.1"
-melib = { path = "melib", version = "*" }
-ui = { path = "ui", version = "*" }
+melib = { path = "melib", version = "0.4.1" }
+
+serde = "1.0.71"
+serde_derive = "1.0.71"
+serde_json = "1.0"
+toml = "0.5.3"
+fnv = "1.0.3" # >:c
+linkify = "0.3.1" # >:c
+xdg-utils = "0.3.0"
+nom = "3.2.0"
+notify = "4.0.1" # >:c
+notify-rust = "^3" # >:c
+termion = "1.5.1"
+bincode = "1.2.0"
+uuid = { version = "0.7.4", features = ["serde", "v4"] }
+unicode-segmentation = "1.2.1" # >:c
+text_processing = { path = "text_processing", version = "0.4.1" }
+libc = {version = "0.2.59", features = ["extra_traits",]}
+rusqlite = {version = "0.20.0", optional =true }
+rmp = "^0.8"
+rmpv = { version = "^0.4.2", features=["with-serde",] }
+rmp-serde = "^0.14.0"
+smallvec = { version = "1.1.0", features = ["serde", ] }
+
[profile.release]
lto = true
debug = false
[workspace]
-members = ["melib", "ui", "debug_printer", "testing", "text_processing"]
+members = ["melib", "testing", "text_processing"]
[features]
-default = []
-notmuch = ["melib/notmuch_backend", "ui/notmuch"]
+default = ["sqlite3"]
+notmuch = ["melib/notmuch_backend", ]
jmap = ["melib/jmap_backend",]
+sqlite3 = ["rusqlite"]
# Print tracing logs as meli runs in stderr
# enable for debug tracing logs: build with --features=debug-tracing
-debug-tracing = ["melib/debug-tracing", "ui/debug-tracing"]
+debug-tracing = ["melib/debug-tracing", ]
diff --git a/Makefile b/Makefile
index 66e628c7..b3b721b3 100644
--- a/Makefile
+++ b/Makefile
@@ -46,17 +46,18 @@ GREEN ?= `[ -z $${NO_COLOR+x} ] && tput setaf 2 || echo ""`
help:
@echo "For a quick start, build and install locally:\n ${BOLD}${GREEN}PREFIX=~/.local make install${ANSI_RESET}\n"
@echo "Available subcommands:"
- @echo " - ${BOLD}install${ANSI_RESET} (installs binary and documentation)"
+ @echo " - ${BOLD}meli${ANSI_RESET} (builds meli with optimizations in \$$CARGO_TARGET_DIR)"
+ @echo " - ${BOLD}install${ANSI_RESET} (installs binary in \$$BINDIR and documentation to \$$MANDIR)"
@echo " - ${BOLD}uninstall${ANSI_RESET}"
@echo "Secondary subcommands:"
@echo " - ${BOLD}clean${ANSI_RESET} (cleans build artifacts)"
@echo " - ${BOLD}check-deps${ANSI_RESET} (checks dependencies)"
- @echo " - ${BOLD}install-bin${ANSI_RESET} (installs binary to BINDIR)"
- @echo " - ${BOLD}install-doc${ANSI_RESET} (installs manpages to MANDIR)"
+ @echo " - ${BOLD}install-bin${ANSI_RESET} (installs binary to \$$BINDIR)"
+ @echo " - ${BOLD}install-doc${ANSI_RESET} (installs manpages to \$$MANDIR)"
@echo " - ${BOLD}help${ANSI_RESET} (prints this information)"
- @echo " - ${BOLD}dist${ANSI_RESET} (creates release tarball named meli-"${VERSION}".tar.gz)"
- @echo " - ${BOLD}deb-dist${ANSI_RESET} (builds debian package)"
+ @echo " - ${BOLD}dist${ANSI_RESET} (creates release tarball named meli-"${VERSION}".tar.gz in this directory)"
+ @echo " - ${BOLD}deb-dist${ANSI_RESET} (builds debian package in the parent directory)"
@echo " - ${BOLD}distclean${ANSI_RESET} (cleans distribution build artifacts)"
@echo "\nENVIRONMENT variables of interest:"
@echo "* PREFIX = ${UNDERLINE}${PREFIX}${ANSI_RESET}"
diff --git a/debug_printer/Cargo.toml b/debug_printer/Cargo.toml
deleted file mode 100644
index 2bcd9fc2..00000000
--- a/debug_printer/Cargo.toml
+++ /dev/null
@@ -1,17 +0,0 @@
-[package]
-name = "debug_printer"
-version = "0.0.1" #:version
-authors = ["Manos Pitsidianakis <el13635@mail.ntua.gr>"]
-workspace = ".."
-edition = "2018"
-
-[lib]
-name = "debugprinter"
-crate-type = ["dylib"]
-path = "src/lib.rs"
-
-
-[dependencies]
-libc = {version = "0.2.55", features = ["extra_traits",] }
-melib = { path = "../melib", version = "*" }
-ui = { path = "../ui", version = "*" }
diff --git a/debug_printer/src/lib.rs b/debug_printer/src/lib.rs
deleted file mode 100644
index 072f06c7..00000000
--- a/debug_printer/src/lib.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-extern crate libc;
-extern crate melib;
-
-use melib::Envelope;
-use std::ffi::CString;
-use std::os::raw::c_char;
-
-#[no_mangle]
-pub extern "C" fn print_envelope(ptr: *const Envelope) -> *const c_char {
- unsafe {
- assert!(!ptr.is_null(), "Null pointer in print_envelope");
- //println!("got addr {}", p as u64);
- //unsafe { CString::new("blah".to_string()).unwrap().as_ptr() }
- let s = CString::new(format!("{:?}", *ptr)).unwrap();
- drop(ptr);
- let p = s.as_ptr();
- std::mem::forget(s);
- p
- }
-}
-
-#[no_mangle]
-pub extern "C" fn get_empty_envelope() -> *mut Envelope {
- let mut ret = Envelope::default();
- let ptr = std::ptr::NonNull::new(&mut ret as *mut Envelope)
- .expect("Envelope::default() has a NULL pointer?");
-
- let ptr = ptr.as_ptr();
- std::mem::forget(ret);
- ptr
-}
-
-#[no_mangle]
-pub extern "C" fn destroy_cstring(ptr: *mut c_char) {
- unsafe {
- let slice = CString::from_raw(ptr);
- drop(slice);
- }
-}
-
-#[no_mangle]
-pub extern "C" fn envelope_size() -> libc::size_t {
- std::mem::size_of::<Envelope>()
-}
diff --git a/melib/src/email/list_management.rs b/melib/src/email/list_management.rs
index 93a14d3d..18e84828 100644
--- a/melib/src/email/list_management.rs
+++ b/melib/src/email/list_management.rs
@@ -1,5 +1,5 @@
/*
- * meli - ui crate.
+ * meli
*
* Copyright 2017-2019 Manos Pitsidianakis
*
diff --git a/src/bin.rs b/src/bin.rs
index 891115cc..f1feea40 100644
--- a/src/bin.rs
+++ b/src/bin.rs
@@ -21,24 +21,74 @@
//!
//! This crate contains the frontend stuff of the application. The application entry way on
-//! `src/bin.rs` creates an event loop and passes input to the `ui` module.
+//! `src/bin.rs` creates an event loop and passes input to a thread.
//!
//! The mail handling stuff is done in the `melib` crate which includes all backend needs. The
//! split is done to theoretically be able to create different frontends with the same innards.
//!
use std::alloc::System;
+use std::collections::VecDeque;
use std::path::{Path, PathBuf};
+extern crate notify_rust;
+extern crate text_processing;
+use text_processing::*;
+extern crate xdg_utils;
+#[macro_use]
+extern crate serde_derive;
+extern crate linkify;
+extern crate uuid;
+
+extern crate fnv;
+extern crate termion;
+
+#[macro_use]
+extern crate nom;
+
+extern crate serde_json;
+extern crate smallvec;
#[global_allocator]
static GLOBAL: System = System;
-// Re export to put crates in the documentation's start page.
-pub use melib;
-pub use ui;
-
+#[macro_use]
+extern crate melib;
use melib::*;
-use ui::*;
+
+mod unix;
+use unix::*;
+
+#[macro_use]
+pub mod types;
+use crate::types::*;
+
+#[macro_use]
+pub mod terminal;
+use crate::terminal::*;
+
+#[macro_use]
+pub mod execute;
+use crate::execute::*;
+
+pub mod state;
+use crate::state::*;
+
+pub mod components;
+use crate::components::*;
+
+#[macro_use]
+pub mod conf;
+use crate::conf::*;
+
+pub mod workers;
+use crate::workers::*;
+
+#[cfg(feature = "sqlite3")]
+pub mod sqlite3;
+
+pub mod cache;
+pub mod mailcap;
+pub mod plugins;
use nix;
use std::os::raw::c_int;
@@ -152,15 +202,12 @@ fn run_app() -> Result<()> {
args.version = true;
}
"--print-loaded-themes" => {
- let s = ui::conf::FileSettings::new()?;
+ let s = conf::FileSettings::new()?;
print!("{}", s.terminal.themes.to_string());
return Ok(());
}
"--print-default-theme" => {
- print!(
- "{}",
- ui::conf::Theme::default().key_to_string("dark", false)
- );
+ print!("{}", conf::Theme::default().key_to_string("dark", false));
return Ok(());
}
e => match prev {
@@ -215,7 +262,7 @@ fn run_app() -> Result<()> {
};
if let Some(config_path) = args.test_config.as_ref() {
- ui::conf::FileSettings::validate(config_path)?;
+ conf::FileSettings::validate(config_path)?;
return Ok(());
}
@@ -235,7 +282,7 @@ fn run_app() -> Result<()> {
if config_path.exists() {
return Err(MeliError::new(format!("File `{}` already exists.\nMaybe you meant to specify another path with --create-config=PATH", config_path.display())));
}
- ui::conf::create_config_file(&config_path)?;
+ conf::create_config_file(&config_path)?;
return Ok(());
}
@@ -268,19 +315,17 @@ fn run_app() -> Result<()> {
let status_bar = Box::new(StatusBar::new(window));
state.register_component(status_bar);
- let xdg_notifications = Box::new(ui::components::notifications::XDGNotifications::new());
+ let xdg_notifications = Box::new(components::notifications::XDGNotifications::new());
state.register_component(xdg_notifications);
- state.register_component(Box::new(
- ui::components::notifications::NotificationFilter {},
- ));
+ state.register_component(Box::new(components::notifications::NotificationFilter {}));
- /* Keep track of the input mode. See ui::UIMode for details */
+ /* Keep track of the input mode. See UIMode for details */
'main: loop {
state.render();
'inner: loop {
/* Check if any components have sent reply events to State. */
- let events: ui::smallvec::SmallVec<[UIEvent; 8]> = state.context.replies();
+ let events: smallvec::SmallVec<[UIEvent; 8]> = state.context.replies();
for e in events {
state.rcv_event(e);
}
diff --git a/ui/src/cache.rs b/src/cache.rs
index 29f187b8..fd46494b 100644
--- a/ui/src/cache.rs
+++ b/src/cache.rs
@@ -1,5 +1,5 @@
/*
- * meli - ui crate.
+ * meli
*
* Copyright 2017-2018 Manos Pitsidianakis
*
@@ -19,6 +19,8 @@
* along with meli. If not, see <http://www.gnu.org/licenses/>.
*/
+/*! Search queries.
+ */
use melib::parsec::*;
use melib::UnixTimestamp;
use melib::{
@@ -27,6 +29,7 @@ use melib::{
thread::{SortField, SortOrder},
Result,
};
+use std::borrow::Cow;
use std::sync::{Arc, RwLock};
pub use query_parser::query;
@@ -334,7 +337,6 @@ pub mod query_parser {
pub fn query_to_imap(q: &Query) -> String {
fn rec(q: &Query, s: &mut String) {
- use crate::sqlite3::escape_double_quote;
match q {
Subject(t) => {
s.push_str(" SUBJECT \"");
@@ -440,3 +442,12 @@ pub fn imap_search(
panic!("Could not downcast ImapType backend. BUG");
}
}
+
+#[inline(always)]
+pub fn escape_double_quote(w: &str) -> Cow<str> {
+ if w.contains('"') {
+ Cow::from(w.replace('"', "\"\""))
+ } else {
+ Cow::from(w)
+ }
+}
diff --git a/ui/src/components.rs b/src/components.rs
index 3ee8cd98..e0fc897d 100644
--- a/ui/src/components.rs
+++ b/src/components.rs
@@ -1,5 +1,5 @@
/*
- * meli - ui crate.
+ * meli
*
* Copyright 2017-2018 Manos Pitsidianakis
*
@@ -19,11 +19,11 @@
* along with meli. If not, see <http://www.gnu.org/licenses/>.
*/
-/*!
-Components are ways to handle application data. They can draw on the terminal and receive events, but also do other stuff as well. (For example, see the `notifications` module.)
-
-See the `Component` Trait for more details.
-*/
+/*! Components visual and logical separations of application interfaces.
+ *
+ * They can draw on the terminal and receive events, but also do other stuff as well. (For example, see the `notifications` module.)
+ * See the `Component` Trait for more details.
+ */
use super::*;
@@ -32,9 +32,6 @@ pub use crate::mail::*;
pub mod notifications;
-pub mod indexer;
-pub use self::indexer::*;
-
pub mod utilities;
pub use self::utilities::*;
diff --git a/ui/src/components/contacts.rs b/src/components/contacts.rs
index 91907a58..91907a58 100644
--- a/ui/src/components/contacts.rs
+++ b/src/components/contacts.rs
diff --git a/ui/src/components/contacts/contact_list.rs b/src/components/contacts/contact_list.rs
index a79d4cfd..a79d4cfd 100644
--- a/ui/src/components/contacts/contact_list.rs
+++ b/src/components/contacts/contact_list.rs
diff --git a/ui/src/components/mail.rs b/src/components/mail.rs
index 9091b93d..8d2bc89a 100644
--- a/ui/src/components/mail.rs
+++ b/src/components/mail.rs
@@ -1,5 +1,5 @@
/*
- * meli - ui crate.
+ * meli
*
* Copyright 2017-2018 Manos Pitsidianakis
*
diff --git a/ui/src/components/mail/compose.rs b/src/components/mail/compose.rs
index b4e7521d..1454dba3 100644
--- a/ui/src/components/mail/compose.rs
+++ b/src/components/mail/compose.rs
@@ -1,5 +1,5 @@
/*
- * meli - ui crate
+ * meli
*
* Copyright 2017-2018 Manos Pitsidianakis
*
diff --git a/ui/src/components/mail/listing.rs b/src/components/mail/listing.rs
index da0a9d27..7a64e5a3 100644
--- a/ui/src/components/mail/listing.rs
+++ b/src/components/mail/lis