use clap;
use common::*;
use entry;
use std::fs::OpenOptions;
use std::path::PathBuf;
use lich::Data;
pub fn run(path: PathBuf) -> Result<(), clap::Error> {
let pwd = entry::new_password();
let data = Data::new(pwd)
.map_err(|e| create_error(&path, e))?;
let mut file = OpenOptions::new()
.write(true)
.create_new(true)
.open(&path)
.map_err(|e| create_error(&path, e))?;
save(&mut file, &path, &data)?;
println!("Initialized password store at {}.", path.display());
Ok(())
}