master
Bel LaPointe 2024-05-23 15:45:01 -04:00
parent e90cf02664
commit c7163268d4
1 changed files with 23 additions and 10 deletions

View File

@ -7,24 +7,36 @@ use croner;
use clap::Parser;
fn main() {
let flags = Flags::parse();
println!("{}", flags.f());
let flags = Flags::new();
println!("{:?}", flags);
}
#[derive(Debug, Parser)]
struct Flags {
#[arg(short = 'f', long = "file", default_value="$PTTODO_FILE")]
f: String,
file: String,
#[arg(short = 'a', long = "add")]
add: Option<String>,
#[arg(short = 's', long = "add-schedule")]
add_schedule: Option<String>,
#[arg(short = 'e', long = "edit", default_value="false")]
edit: bool,
}
impl Flags {
fn f(&self) -> String {
if self.f.get(..1) == Some("$") {
return std::env::var(
self.f.get(1..).unwrap()
).expect("not in env");
fn new() -> Flags {
let mut result = Flags::parse();
if result.file.get(..1) == Some("$") {
result.file = std::env::var(
result.file.get(1..).unwrap()
).expect(format!("'{}' unset", result.file).as_str());
}
self.f.clone()
result
}
}
@ -248,6 +260,7 @@ impl Task {
}
}
#[allow(dead_code)] // used in test
fn set(&mut self, k: String, v: String) {
self.0.insert(
serde_yaml::Value::String(k),
@ -649,7 +662,7 @@ impl TS {
self.0
}
#[allow(dead_code)]
#[allow(dead_code)] // used in test
fn to_string(&self) -> String {
DateTime::from_timestamp(self.0 as i64, 0)
.unwrap()