jrnl: simplify (or complexify, if you dont like iterators and zero-copy) the parsing

This commit is contained in:
Schrottkatze 2024-04-22 11:15:45 +02:00
parent 28bebd5aaa
commit 0bf5ed0c76
Signed by: schrottkatze
SSH key fingerprint: SHA256:hXb3t1vINBFCiDCmhRABHX5ocdbLiKyCdKI4HK2Rbbc
5 changed files with 52 additions and 56 deletions

View file

@ -5,16 +5,20 @@ use crate::md::Doc;
pub fn list_entries(path: PathBuf) {
let file = fs::read_to_string(path).unwrap();
let doc = Doc::new(&file);
for (i, entry) in doc.entries.into_iter().enumerate() {
let n = format!("{:>2}", i + 1);
let r = format!(". {}", entry.title,);
let l = format!(" {} ", crate::utils::format_datetime(entry.timestamp));
let termsize::Size { cols, .. } = termsize::get().unwrap();
if let Some(doc) = Doc::new(&file) {
for (i, entry) in doc.entries.into_iter().enumerate() {
let n = format!("{:>2}", i + 1);
let r = format!(". {}", entry.title,);
let l = format!(" {} ", crate::utils::format_datetime(entry.timestamp));
let termsize::Size { cols, .. } = termsize::get().unwrap();
let padding = " ".repeat(cols as usize - (n.len() + r.len() + l.len()));
let padding = " ".repeat(cols as usize - (n.len() + r.len() + l.len()));
println!("{}{r}{padding}{}", n.cyan(), l.white())
println!("{}{r}{padding}{}", n.cyan(), l.white())
}
} else {
eprintln!("Parsing error...");
std::process::exit(1);
}
}