stub
parent
e90cf02664
commit
c7163268d4
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue