about summary refs log tree commit diff
path: root/fun/paroxysm
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-08-01T23·53+0100
committertazjin <mail@tazj.in>2020-08-02T02·16+0000
commit688d4c6be3847e1aa5f9d946cb69a3ac2332e961 (patch)
tree3b7f77a64c6837b809d10a7dc853201a012d96d0 /fun/paroxysm
parentf9840fe2d06273ca6fa4a47ed3afa8adb85738af (diff)
refactor(paroxysm): Move lazy_static regex definitions to the top r/1546
Change-Id: If04cc7ee72230f6b5163d33ef683bcb90bd9bc26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1554
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Diffstat (limited to 'fun/paroxysm')
-rw-r--r--fun/paroxysm/src/main.rs33
1 files changed, 18 insertions, 15 deletions
diff --git a/fun/paroxysm/src/main.rs b/fun/paroxysm/src/main.rs
index a5382e9c0b..081f273bad 100644
--- a/fun/paroxysm/src/main.rs
+++ b/fun/paroxysm/src/main.rs
@@ -22,6 +22,24 @@ mod keyword;
 mod models;
 mod schema;
 
+lazy_static! {
+    static ref LEARN_RE: Regex =
+        Regex::new(r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*):\s*(?P<val>.*)"#).unwrap();
+
+    static ref QUERY_RE: Regex =
+        Regex::new(r#"^\?\?\s*(?P<subj>[^\[:]*)(?P<idx>\[[^\]]+\])?"#).unwrap();
+
+    static ref QLAST_RE: Regex = Regex::new(r#"^\?\?\s*(?P<subj>[^\[:]*)!"#).unwrap();
+
+    static ref INCREMENT_RE: Regex =
+        Regex::new(r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*)(?P<incrdecr>\+\+|\-\-)"#)
+        .unwrap();
+
+    static ref MOVE_RE: Regex = Regex::new(
+        r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*)(?P<idx>\[[^\]]+\])->(?P<new_idx>.*)"#
+    ).unwrap();
+}
+
 pub struct App {
     client: IrcClient,
     pg: Pool<ConnectionManager<PgConnection>>,
@@ -264,21 +282,6 @@ impl App {
     }
 
     pub fn handle_privmsg(&mut self, from: &str, chan: &str, msg: &str) -> Result<(), Error> {
-        // TODO(tazjin): Move these to the top.
-        lazy_static! {
-            static ref LEARN_RE: Regex =
-                Regex::new(r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*):\s*(?P<val>.*)"#).unwrap();
-            static ref QUERY_RE: Regex =
-                Regex::new(r#"^\?\?\s*(?P<subj>[^\[:]*)(?P<idx>\[[^\]]+\])?"#).unwrap();
-            static ref QLAST_RE: Regex = Regex::new(r#"^\?\?\s*(?P<subj>[^\[:]*)!"#).unwrap();
-            static ref INCREMENT_RE: Regex =
-                Regex::new(r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*)(?P<incrdecr>\+\+|\-\-)"#)
-                    .unwrap();
-            static ref MOVE_RE: Regex = Regex::new(
-                r#"^\?\?(?P<gen>!)?\s*(?P<subj>[^\[:]*)(?P<idx>\[[^\]]+\])->(?P<new_idx>.*)"#
-            )
-            .unwrap();
-        }
         let nick = from.split("!").next().ok_or(format_err!(
             "Received PRIVMSG from a source without nickname (failed to split n!u@h)"
         ))?;