From c1662ba7b982a8502dc9f32031b7cb518df7f60e Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sun, 16 May 2010 00:01:00 +0200 Subject: Rewrote nearly everything! * Rewrote the whole architecture to achieve extreme modularity * Added the ability to build a multiprotocol bot * Added cabal integration * Added configuration handling the XMonad style * Added configuration in ~/.hsbot * Refactored many many named and functions * Refactored data structures * Cleaned a big bunch of stuff --- Hsbot/IRCParser.hs | 51 --------------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 Hsbot/IRCParser.hs (limited to 'Hsbot/IRCParser.hs') diff --git a/Hsbot/IRCParser.hs b/Hsbot/IRCParser.hs deleted file mode 100644 index d284377..0000000 --- a/Hsbot/IRCParser.hs +++ /dev/null @@ -1,51 +0,0 @@ -module Hsbot.IRCParser - ( ParseError - , parseIrcMsg - , serializeIrcMsg - ) where - -import Control.Monad.Identity -import Text.Parsec - -import Hsbot.Types - --- | Parses an IrcInput -parseIrcMsg :: String -> Either ParseError IrcMsg -parseIrcMsg line = parse pMsg "" line - -pMsg :: ParsecT String u Identity IrcMsg -pMsg = do - pfx <- optionMaybe pPrefix - cmd <- pCommand - params <- many (char ' ' >> (pLongParam <|> pShortParam)) - _ <- char '\r' - --eof - return $ IrcMsg pfx cmd params - -pPrefix :: ParsecT String u Identity [Char] -pPrefix = do - _ <- char ':' - pfx <- many1 (noneOf " ") - _ <- space - return pfx - -pCommand :: ParsecT String u Identity [Char] -pCommand = count 3 digit <|> many1 upper - -pLongParam :: ParsecT String u Identity [Char] -pLongParam = char ':' >> (many1 (noneOf "\r")) - -pShortParam :: ParsecT String u Identity [Char] -pShortParam = many1 (noneOf " \r") - --- |Serialize an IRC message to a string. -serializeIrcMsg :: IrcMsg -> String -serializeIrcMsg (IrcMsg pfx cmd params) = pfxStr ++ cmd ++ paramStr - where pfxStr = case pfx of - Nothing -> "" - Just pfx' -> ":" ++ pfx' ++ " " - paramStr = concat (map paramToStr (init params) - ++ [lastParamToStr (last params)]) - paramToStr p = " " ++ p - lastParamToStr p = " :" ++ p - -- cgit v1.2.3