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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
//! # Lazyf //! //! Lazyf is both a file format, and a mechanism for loading configurations. //! It's primary aim is to allow the user to be as lazy as possible when //! trying to get user options out of their code. //! //! With lazyf user options come from two places. -Flags and config files. //! The cfg (config) module combines the lzlist (lazyfile) module and the //! flag module //! //! The lazyf file format basically looks like this (ignore quotes): //! //! ``` //! " //! Superman: //! power:Flying //! age:29 //! //! Batman: //! power:Money //! age:40 //! "; //! ``` //! //! The simplesy way to get config options is: //! //! ``` //! use lazyf::{Cfg,SGetter}; //! //! let cf = Cfg::load_first("-c", &["--config-location--"]); //! let age = cf.get_t_def(("-bman","Batman.age"),10); //! //age == 40 //! ``` //! //! In this config location will be the location specified after the flag -c //! or the first of the config locations to return a result. //! if none are found a Cfg is still returned, as flags can still be used. //! pub mod flag; pub use flag::Fg; pub mod lzlist; pub use lzlist::{LzList,Lz}; pub mod cfg; pub use cfg::Cfg; pub mod brace; pub mod get; pub use get::SGetter; pub mod lz_err; pub use lz_err::LzErr; //make trait public #[cfg(test)] mod tests;