prefs 0.1.2

Type-safe macOS preferences library
#[derive(prefs::Preferences)]
#[preferences(domain = "com.example.MyApp")]
struct AppPrefs {
    #[preference(default = 1.0)]
    volume: f64,

    #[preference(default = 0)]
    launches: i64,

    #[preference(default = false)]
    dark_mode: bool,

    #[preference(name = "recent_files")]
    recent: Vec<String>,
}

#[allow(clippy::print_stdout)]
fn main() -> prefs::Result<()> {
    let mut prefs = AppPrefs::load()?;

    prefs.launches += 1;
    prefs.volume = 0.8;
    prefs.recent.push("document.txt".into());

    prefs.save()?;

    println!("launches = {}", prefs.launches);
    println!("volume = {}", prefs.volume);
    println!("recent = {:?}", prefs.recent);

    Ok(())
}