use anyhow::Result; use chrono::Local; use rusqlite::Connection; use crate::{db, model::event}; pub fn today(conn: &Connection) -> Result { let today = Local::today().naive_local(); let mut events = db::list_non_recurring_between(conn, today, today)?; let recurring_events = db::list_recurring(conn)?; let repetitions = event::repetitions_between(&recurring_events, today, today); for repetition in repetitions.values().flatten() { events.push(repetition.clone()); } events.sort_by_key(|e| e.start); Ok(events .iter() .map(|e| format!("{}\n", e.pprint())) .collect::>() .join("")) }