#![feature(proc_macro, unboxed_closures)]
#![warn(
missing_docs,
trivial_casts,
trivial_numeric_casts,
unused_extern_crates,
unused_import_braces,
unused_qualifications,
)]
#[macro_use]
extern crate error_chain;
extern crate futures_glib;
extern crate gdk;
extern crate glib;
extern crate gtk;
#[macro_use]
extern crate log;
#[macro_use]
extern crate mg_settings;
extern crate pango;
#[macro_use]
extern crate relm;
extern crate relm_attributes;
#[macro_use]
extern crate relm_derive;
mod app;
pub mod completion;
mod key_converter;
pub type Modes = &'static [(&'static str, &'static str)];
pub use app::{Mg, parse_config};
pub use app::Msg::{
Alert,
AppClose,
CloseWin,
Completers,
CompletionViewChange,
CustomCommand,
CustomDialog,
DarkTheme,
DeleteCompletionItem,
Error,
Info,
Message,
ModeChanged,
Question,
SetMode,
SetSetting,
SettingChanged,
Title,
Variables,
Warning,
};
pub use app::dialog::{
BlockingInputDialog,
DialogBuilder,
DialogResult,
InputDialog,
Responder,
blocking_dialog,
blocking_input,
blocking_question,
blocking_yes_no_question,
input,
question,
yes_no_question,
};
pub use app::settings::{DefaultConfig, NoSettings};
pub use app::status_bar::{StatusBar, StatusBarItem};
pub use app::status_bar::ItemMsg::Text;
#[macro_export]
macro_rules! hash {
($($ident:expr => $value:expr,)*) => {{
let mut hash_map: ::mg::completion::Completers = ::std::collections::HashMap::new();
$(hash_map.insert($ident, $value);)*
hash_map
}};
}
#[macro_export]
macro_rules! char_slice {
($( $val:expr ),*) => {{
static SLICE: &'static [char] = &[$($val),*];
SLICE
}};
}
#[macro_export]
macro_rules! static_slice {
($( $val:expr ),* ; $typ:ty) => {{
static SLICE: &'static [$typ] = &[$($val),*];
SLICE
}};
}