diff options
author | Vincent Ambo <mail@tazj.in> | 2020-08-01T23·53+0100 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2020-08-02T02·16+0000 |
commit | 688d4c6be3847e1aa5f9d946cb69a3ac2332e961 (patch) | |
tree | 3b7f77a64c6837b809d10a7dc853201a012d96d0 | |
parent | f9840fe2d06273ca6fa4a47ed3afa8adb85738af (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>
-rw-r--r-- | fun/paroxysm/src/main.rs | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/fun/paroxysm/src/main.rs b/fun/paroxysm/src/main.rs index a5382e9c0bd5..081f273bad4e 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)" ))?; |