! Copyright (C) 2009 Bruno Deferrari ! See http://factorcode.org/license.txt for BSD license. USING: accessors irc.messages.base kernel sequences splitting ; IN: irc.messages.parser > [ ":" ?head drop "!" split-at-first drop ] [ f ] if* ; PRIVATE> : string>irc-message ( string -- irc-message ) dup split-message [ [ irc>type new ] [ >>command ] bi ] [ >>parameters ] [ >>trailing ] tri* [ prefix<< ] [ fill-irc-message-slots ] [ swap >>line ] tri dup sender >>sender ;