1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//! An easy to use local settings library.
//!
//! The `settingsfile` crate provides a simple and easy to use API that abstracts away
//! most OS and serializing / deserializing functions so you can focus on saving and reading
//! settings and configurations.
//!
//! The user of this crate only needs to define a struct that implements [Format](trait.format.html),
//! which defines the location and format of the configuration file. Then the user can call
//! set and get functions to interact with that file and the data in that file.
//!
//! `settingsfile` works primarily in memory and does not automatically save and load data from
//! the disk, so ::load() and ::save() will need to manually be called.
#[macro_use] extern crate serde_derive;
#[macro_use] extern crate failure;
#[macro_use] extern crate log;
extern crate serde;
extern crate dirs;
// public traits
mod traits;
pub use traits::supportedtype::SupportedType;
pub use traits::format::Format;
pub use traits::format::SettingsRaw;
// public structs
mod structs;
pub use structs::settings::Settings;
pub use structs::shadowsettings::ShadowSettings;
pub use structs::types::Type;
pub use structs::empty::EmptyConfig;