aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/agenda.rs26
-rw-r--r--src/discord.rs2
-rw-r--r--src/slack.rs2
3 files changed, 18 insertions, 12 deletions
diff --git a/src/agenda.rs b/src/agenda.rs
index 2543daa..a132bbb 100644
--- a/src/agenda.rs
+++ b/src/agenda.rs
@@ -35,6 +35,21 @@ 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 +76,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();
diff --git a/src/discord.rs b/src/discord.rs
index e0119a4..fb121fb 100644
--- a/src/discord.rs
+++ b/src/discord.rs
@@ -1,4 +1,4 @@
-use crate::agenda::{parse_message, AgendaPoint, Emoji};
+use crate::agenda::{self, parse_message, AgendaPoint, Emoji};
use discord::{
model::{ChannelId, Event, PossibleServer, ReactionEmoji, UserId},
diff --git a/src/slack.rs b/src/slack.rs
index 49c8cfa..9698109 100644
--- a/src/slack.rs
+++ b/src/slack.rs
@@ -1,4 +1,4 @@
-use crate::agenda::{parse_message, AgendaPoint, Emoji};
+use crate::agenda::{self, parse_message, AgendaPoint, Emoji};
use futures::join;
use slack::{Event, Message};