aboutsummaryrefslogtreecommitdiffstats
path: root/src/agenda.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-12-01 07:46:29 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-12-01 07:46:29 +0100
commit8b8c829793c026eee5fac474399a9a7179a10c80 (patch)
tree133d1102e7da0a1c89f0bf8b027e9461e4aaef59 /src/agenda.rs
parentc1b9d90f2f81f7acb0f4a88acf7056874e9cbe2f (diff)
parent31f5366ef857bc3e50f7a4485250cbe50d903e0b (diff)
downloadkodapa-8b8c829793c026eee5fac474399a9a7179a10c80.tar.gz
Merge branch 'reminders' into main
Diffstat (limited to 'src/agenda.rs')
-rw-r--r--src/agenda.rs30
1 files changed, 20 insertions, 10 deletions
diff --git a/src/agenda.rs b/src/agenda.rs
index ef17f5a..1254a41 100644
--- a/src/agenda.rs
+++ b/src/agenda.rs
@@ -35,6 +35,25 @@ impl Agenda {
}
}
+impl fmt::Display for Agenda {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ let s = self
+ .points
+ .iter()
+ .map(|p| p.to_string())
+ .collect::<Vec<_>>()
+ .join("\n");
+ write!(
+ f,
+ "{}",
+ match s.as_str() {
+ "" => "Empty agenda",
+ _ => &s,
+ }
+ )
+ }
+}
+
pub enum Emoji {
Ok,
Confused,
@@ -61,16 +80,7 @@ where
agenda.write();
Some(Emoji::Ok)
} else if message.starts_with("!agenda") {
- let s = read_agenda()
- .points
- .iter()
- .map(|p| p.to_string())
- .collect::<Vec<_>>()
- .join("\n");
- send_message(match s.as_str() {
- "" => "Agenda is empty".to_string(),
- _ => s,
- });
+ send_message(read_agenda().to_string());
None
} else if message.starts_with("!clear") {
Agenda { points: Vec::new() }.write();