From 2d5368f4af05fb4efbc9beb09d77a45bd7112a36 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 9 May 2016 11:49:19 -0700 Subject: [PATCH] irc.messages.parser: simplify parser --- extra/irc/messages/parser/parser.factor | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/extra/irc/messages/parser/parser.factor b/extra/irc/messages/parser/parser.factor index 33964aef71..829236cb16 100644 --- a/extra/irc/messages/parser/parser.factor +++ b/extra/irc/messages/parser/parser.factor @@ -9,20 +9,14 @@ IN: irc.messages.parser : split-at-first ( seq separators -- before after ) dupd '[ _ member? ] find [ cut rest ] [ swap ] if ; -: split-trailing ( string -- string string/f ) ":" split1 ; -: remove-heading-: ( seq -- seq ) ":" ?head drop ; - -: split-prefix ( string -- string/f string ) - dup ":" head? [ - remove-heading-: " " split1 - ] [ f swap ] if ; - +! ":ircuser!n=user@isp.net JOIN :#factortest" : split-message ( string -- prefix command parameters trailing ) - split-prefix split-trailing - [ [ blank? ] trim " " split unclip swap ] dip ; + ":" ?head [ " " split1 ] [ f swap ] if + ":" split1 + [ " " split harvest unclip swap ] dip ; : sender ( irc-message -- sender ) - prefix>> [ remove-heading-: "!" split-at-first drop ] [ f ] if* ; + prefix>> [ ":" ?head drop "!" split-at-first drop ] [ f ] if* ; PRIVATE> : string>irc-message ( string -- irc-message )