#[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(())
}