diff --git a/src/main.rs b/src/main.rs index ddd1f5a..a121ee9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -71,25 +71,27 @@ enum Command fn main() { let opts = Opts::from_args(); - let mut hmgr = HabitMgr::new(); - let data_dir:PathBuf = match env::var("XDG_DATA_HOME") { - Ok(s) => PathBuf::from(s).join("htracker"), - Err(_e) => PathBuf::from("./"), - }; + let data_dir = + PathBuf::from( + env::var("XDG_DATA_HOME") + .unwrap_or_else(|err| { panic!("Error: {}", err) })) + .join("htracker"); if data_dir.exists() && data_dir.is_file() { - panic!("Error: {} file already exists! Please (re)move it.", + panic!("Error: file exists at '{}', please (re)move it.", data_dir.display()); } else if !data_dir.exists() { - println!("Creating {} data directory.", data_dir.display()); + println!("First run: files will be stored in {}", data_dir.display()); fs::create_dir_all(data_dir) .unwrap_or_else(|err| { panic!("Filesystem error: {}", err) }); } + let mut hmgr = HabitMgr::new(); + match opts.cmd { None => hmgr.list(false, false),