comment THE PLAN

master
Bel LaPointe 2024-06-14 09:54:46 -06:00
parent 7832d09fe8
commit 5a45cd1410
1 changed files with 50 additions and 11 deletions

View File

@ -123,14 +123,35 @@ impl DB {
set.save_due_as(f.display().to_string())?; set.save_due_as(f.display().to_string())?;
} }
std::process::Command::new("/bin/sh") //std::process::Command::new("/bin/sh")
.current_dir(d.path()) // .current_dir(d.path())
.arg("-c") // .arg("-c")
.arg("vim -p ./*") // .arg("vim -p ./*")
.spawn() // .spawn()
.expect("failed to start vim") // .expect("failed to start vim")
.wait() // .wait()
.expect("failed to vim"); // .expect("failed to vim");
for set in &self.0 {
let base = set.file.split("/").last().unwrap().to_string();
let f = d.path().join(base);
let edited = TasksAndMetadata::new(f.display().to_string());
let not_due = set.not_due();
let was_due = set.due();
// for each in was_due
// if not in edited
// not_due.push
// due = []
// for each in edited
// if not due
// not_due.push
// else
// due.push
// all = not_due + due
// save to self.0
}
Err("not impl".to_string()) Err("not impl".to_string())
} }
@ -192,6 +213,18 @@ impl TasksAndMetadata {
} }
} }
pub fn due(&self) -> TasksAndMetadata {
let mut cloned = self.clone();
cloned.tasks = cloned.tasks.due();
cloned
}
pub fn not_due(&self) -> TasksAndMetadata {
let mut cloned = self.clone();
cloned.tasks = cloned.tasks.not_due();
cloned
}
pub fn save(&self, dry_run: bool) -> Result<(), String> { pub fn save(&self, dry_run: bool) -> Result<(), String> {
let version = file_version(self.file.clone())?; let version = file_version(self.file.clone())?;
let mut file = self.file.clone(); let mut file = self.file.clone();
@ -214,9 +247,7 @@ impl TasksAndMetadata {
} }
pub fn save_due_as(&self, file: String) -> Result<(), String> { pub fn save_due_as(&self, file: String) -> Result<(), String> {
let mut cloned = self.clone(); self.due().save_as(file)
cloned.tasks = cloned.tasks.due();
cloned.save_as(file)
} }
pub fn save_as(&self, file: String) -> Result<(), String> { pub fn save_as(&self, file: String) -> Result<(), String> {
@ -365,6 +396,14 @@ impl Tasks {
) )
} }
pub fn not_due(&self) -> Tasks {
Tasks(self.0.iter()
.filter(|x| !x.is_due())
.map(|x| x.clone())
.collect()
)
}
pub fn due(&self) -> Tasks { pub fn due(&self) -> Tasks {
Tasks(self.0.iter() Tasks(self.0.iter()
.filter(|x| x.is_due()) .filter(|x| x.is_due())