use clap::{crate_authors, crate_version, App, Arg};
use gcd_cli::constants::*;
use gcd_cli::config::Config;
use gcd_cli::db::Database;
use std::io;
fn main() -> io::Result<()> {
let config = Config::new();
let default_database_file = config.database_file();
let matches = App::new("gcd-add")
.version(&crate_version!()[..])
.author(crate_authors!())
.about("Add current folder to the database.")
.arg(
Arg::with_name(DATABASE_FILE)
.short("d")
.long(DATABASE_FILE)
.env(DATABASE_FILE)
.value_name(DATABASE_FILE_VALUE_NAME)
.default_value(&default_database_file)
.help(DATABASE_FILE_HELP)
.required(false)
.takes_value(true),
)
.get_matches();
let database_file = matches
.value_of(DATABASE_FILE)
.unwrap_or(&default_database_file)
.to_string();
let database = Database::new(database_file);
let cwd = std::env::current_dir()?;
match cwd.to_str() {
Some(str) => database.append(str.to_string()),
None => {
println!("Failed to convert {}, not an utf8 path name", cwd.display());
}
}
Ok(())
}